2012-10-15 55 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