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

然后按这三个字段分组。

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

相关内容

  • 没有找到相关文章

最新更新