我该如何在LINQ中实现:
IEnumerable<DataRow> query =
from rec in dt.AsEnumerable()
where rec.Field<decimal>("column2") == 1 && foo(rec.Field<decimal>("column1"))
select new {
column1 = rec.Field<decimal>("column1"),
column2 = rec.Field<decimal>("column2"),
column3 = rec.Field<decimal>("column3")} ;
这个不起作用。我正在尝试选择一些列作为新的数据表,然后将其与其他数据表联接。
我有一个稍微不同的情况。想要一个新的数据表格作为输出,其中包含来自两个数据表格的行值。我已经使用了连接操作。 dtMain:
ID | Company 1 | XYZ 2 | PQR
dtDetails:ID | ParentID (FK) | Amount 1 | 1 | 11 2 | 1 | 12 3 | 2 | 44
所需输出:ID | Company | Amount 1 | XYZ | 11 1 | XYZ | 12 2 | PQR | 44
继续... - niravvar query = (from M in dtMain.AsEnumerable() join D in dtDetails.AsEnumerable() on Convert.ToString(M["ID"]) equals Convert.ToString(D["ParentID"]) select new { Convert.ToString(M["ID"]), Convert.ToString(M["Company"]), Convert.ToString(D["Amount"]) });
我能够得到List<string[]>
。你能告诉我如何得到
DataTable
吗?(我尝试过获取DataRow[]
但它没有起作用)。 - nirav