【发布时间】:2009-07-23 16:17:11
【问题描述】:
我正在使用 LINQ to SQL,并且我有一个存储过程,它返回的结果集如下所示:
Type Field1 Field2
5 1 1
6 2 0
21 0 0
我希望用这个记录集做一些事情:
1) 有 3 组结果,一组在 field1 和 field2 中都有值,一组在 field1 中有值但在 field2 中没有值,另一组在 field1 和 field2 中都有零。
2) 我只对类型的一个子集感兴趣。我有一个我正在寻找的类型 id 的列表(比如这个例子中的 5 和 21)。现在类型值存储在枚举中,但如果合适,我可以将它们移动到更好的数据类型。
我已经到了可以对每个集合进行分组的位置,但我不确定如何限制类型,所以我只带回我感兴趣的那些。
这是我所拥有的:
var result = from all in dataContext.sp(..variables...)
group all by all into list
let grp1 = (from a in list
where a.field1 != 0 && a.field2 != 0
select a)
let grp2 = (from b in list
where b.field1 == 0 && b.field2 != 0
select b)
let grp3 = (from c in list
where c.field1 == 0 && c.field2 == 0
select c)
select new { grp1, grp2, grp3 };
感谢任何帮助。
【问题讨论】:
标签: c# .net linq-to-sql