2012-10-15 56 views
8

我希望只选择第一条记录从'CustomerSubOwners'表中加入查询下面,并想知道什么是最好的方式来实现这一点在LINQ。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); 

回答

21

我认为你正在寻找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); 
+0

我。完善。不知道为什么我没有想到:-)谢谢。 – Nick