LINQ连接如何只选择第一条记录?

时间:2012-10-15 16:44:05

标签: c# entity-framework linq linq-to-entities

我希望在下面的联接查询中仅从“CustomerSubOwners”表中选择第一条记录,并想知道在LINQ中实现此目的的最佳方法是什么。

var result= (from t1 in db.Cases
             from t2 in db.CustomerSubOwners
                          .Where(o => t1.CustomerId == o.CustomerId && o.Expiry >= DateTime.Now)
                          .DefaultIfEmpty()
             select t1);

1 个答案:

答案 0 :(得分:29)

我认为你正在寻找像这样的Take方法:

var result= (from t1 in db.Cases
             from t2 in db.CustomerSubOwners.Where(o => t1.CustomerId == o.CustomerId && o.Expiry >= DateTime.Now)
                                            .Take(1)
                                            .DefaultIfEmpty()
             select t1);