我需要从 DataTable 中提取行的不同子集,并且认为 LINQ2DataSets 可能是一种有用且干净的方法来执行此操作,但似乎无法简单地将 LINQ2DS 查询的返回行标识为跟随
var result = from r in fips.AsEnumerable() select
r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
r.Field<string>("PROCESS_SUB_GROUP_NAME"),
r.Field<string>("...
因为我在第一个逗号后开始出现错误。
这是一个正确的假设吗?我如何绕过它从数据集中返回我可以应用 Distinct() 方法的列子集?
最佳答案
您忘记了新语句和字段名称:
var result = from r
in fips.AsEnumerable()
select new
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
};
您还可以显式声明您将要使用的类型:
var result = from r
in fips.AsEnumerable()
select new MyType("InitClassParams")
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
};
Scott Guthrie (微软开发部门副总裁)有一些关于 LINQ 的有用信息(他谈到了 LINQ to SQL,但其中大部分内容无论如何都适用)。
然后应用distinct子句:
var result = from r
in fips.AsEnumerable()
select new
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
}
distinct;
然后将其放入列表或对其进行迭代。在运行以下类似内容之前,不会选择/区分/等任何内容:
var list = result.ToList()
foreach(var item in result) {}
关于c# - 在 LINQ2DataSet 中指定返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/288972/