C#LINQ加入并在哪里声明不工作
问题描述:
我想要在我的where语句中使用订单ID的集合我怎么得不到这个工作?C#LINQ加入并在哪里声明不工作
List<int> orders = new List<int>(){1,2,3,4,5};
DataTable dtTable1 = getOrders();
DataTable dtTable2 = getOrderDetails();
var results = from a in dtTable1.AsEnumerable()
join b in dtTable2.AsEnumerable() on a.Field<int>("ID") equals b.Field<int>("ID")
where orders.Contains(b.Field<int>("OrderID"))
select a;
答
大胆猜测:
on a.Field<int>("ID") equals b.Field<int>("OrderID")
+0
不通知我使用Int数组来比较表b中的字段。 where orders.Contains(b.Field
答
的语法对我来说很好。而且,由于它们是价值类型,我预计这些比较工作得很好。你确定你有为你的特定数据选择正确的列吗?也许你可以告诉我们你桌子上的价值和你期待看到的。
不要说“它不起作用”。问题是什么?它不编译?它给运行时错误?它不会产生预期的结果(在这种情况下,有什么区别)? – Aaronaught 2010-03-05 22:08:42