Linq查询,单场返回明显&返回数据子集

时间:2013-01-08 17:51:16

标签: linq

我有一个返回三个数据元素的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

1 个答案:

答案 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