2012-10-15 17 views
8

Chciałbym wybrać tylko pierwszy rekord z tabeli "CustomerSubOwners" w zapytaniu o sprzężenie poniżej i zastanawiałem się, jaki był najlepszy sposób osiągnięcia tego w LINQ.W jaki sposób łączenie LINQ może wybrać tylko pierwszy rekord?

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); 

Odpowiedz

21

myślę szukasz sposobu Take tak:

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

jestem. Idealny. Nie wiem, dlaczego o tym nie myślałem :-) Dziękuję. – Nick

Powiązane problemy