我必须使用 linq 从我的数据表中选择特定的列 我正在使用这段代码
ds.Table[0].AsEnumerable().Where<DataRow>(r=>r.Field<int>("productID")==23).CopyToDataTable();
~
但它为我提供了所有列,我只需要 PRODUCTNAME 、 DESCRIPTION 、 PRICE
如何编写此查询?
最佳答案
要扩展@lazyberezovsky,您可以使用匿名类型投影来获取您想要的所有字段:
ds.Table[0].AsEnumerable()
.Where<DataRow>(r => r.Field<int>("productID") == 23)
.Select(r => new { ProductName = r.Field<string>("productName"),
Description = r.Field<string>("description"),
Price = r.Field<decimal>("price") });
我不知道你的产品名称、描述和价格字段是什么名称和类型,所以你必须替换它们。
关于c# - 如何在 LINQ 中选择特定的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600854/