Linq和,都忽略了单位列当我执行基本操作时-如何避免它

本文关键字:基本操作 执行 何避免 单位 Linq | 更新日期: 2023-09-27 18:09:51

我有一个DataTable,比如:

OrdersDataTable dtResults = Datalayer.Orders.GetOrdersByCustomer(1)

然后选择其中的一部分绑定到数据中继器,比如

var CustomerOrdersByProduct = dtResults.Where(r => r.ProductId == ProductId);
               // OR
var CustomerOrdersByProduct = from r in dtResults
                              where r.ProductId == ProductId
                              select r
rpOrders.DataSource = CustomerOrdersByProduct;
rpOrders.DataBind();

和存储过程,返回如下表:

OrderId    ProductId    CustomerId .....(etc)

但是当我试图访问var CustomerOrdersByProduct中的OrderId(这是主键)时,即使在调试时,或者只是在智能意义上,我也会得到一个错误。我错过了什么?

谢谢。

Linq和,都忽略了单位列当我执行基本操作时-如何避免它

听起来像您的OrdersDataTable的行类型没有OrderId属性,即使存储过程返回它。

看看OrdersDataTable的设计,我假设它是一个生成的强类型数据表。也许您已经将其映射到Id属性而不是OrderId,或类似的东西?不管怎样,我非常怀疑这和LINQ有什么直接关系。