我有一个返回三个数据元素的Linq查询。
var billingDateResults = from s in Subscriptions
.Where(s => (s.ProductCode.Contains("myCode")))
select { g.ID, BillingDate =s.BILL_THRU, s.ProductCode};
我想对此进行不同类型的查询,以将结果限制为每个ID一个记录。
var billingDateResults = from s in Subscriptions
.Where(s => (s.ProductCode.Contains("myCode")))
group s by s.ID into g
select g.FirstOrDefault();
这有效但现在返回记录中的所有字段,我想通过将结果限制为第一个示例中的3个字段来最小化数据量。
这样做的好方法是什么?
TIA
答案 0 :(得分:2)
然后按这三个字段分组。
var billingDateResults =
from s in Subscriptions
where s.ProductCode.Contains("myCode")
group new
{
g.ID,
BillingDate = s.BILL_THRU,
s.ProductCode
} by s.ID into g
select g.First(); // FirstOrDefault is not necessary, the groups will be non-empty