将linq添加到sqlSelect后,从源代码中获取值
本文关键字:源代码 获取 linq 添加 sqlSelect | 更新日期: 2023-09-27 18:25:01
我想绑定一个以产品名称和orderItemID为值的dropdownlist(两者都来自两个单独的表,但有关系)
以下是数据库设计(为简洁起见,省略了一些列)
Order - ID, Name, address
OrderItems - ID, OrderID, ProductID, Price
Products - ID, Name, description, Price
这是连接所有的代码
var oList = ReturnOrderItems(OID).Select(pr => new {pr.Product.Name }).ToList();
DropdownListItems.DataSource = oList;
DropdownListItems.DataTextField = "NEED THE ORDER ITEM ID";
DropdownListItems.DataValueField = "Name";
DropdownListItems.DataBind();
ReturnOrderItems是一种通过订单ID获取所有订单项的简单方法。
然后我添加了一个Select来返回产品名称(因为OrderItems与products表有关系)。
到目前为止,这是有效的,并返回产品名称,这很好,但我如何获得订单项的ID(它将保存在ReturnOrderItems(OID)方法中?)?
我试过几种方法,但我得到的最多的是productID,这不好——我应该怎么做?
假设该方法返回OrderItem
的集合,那么您将执行
var oList = ReturnOrderItems(OID).Select(pr => new {pr.Product.Name, pr.ID }).ToList();
此外,你确定要存储名称并显示id吗,否则我认为你想要这个:
DropdownListItems.DataTextField = "Name";
DropdownListItems.DataValueField = "ID";