2012-10-15 33 views
8

Tôi muốn chỉ chọn bản ghi đầu tiên từ bảng 'CustomerSubOwners' trong truy vấn tham gia bên dưới và tự hỏi cách tốt nhất để đạt được điều này trong LINQ là gì.Làm cách nào để LINQ tham gia có thể chọn bản ghi đầu tiên?

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

Trả lời

21

Tôi nghĩ rằng bạn đang tìm kiếm phương pháp Take như vậy:

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

tôi. Hoàn hảo. Không chắc chắn tại sao tôi không nghĩ về điều đó :-) Cảm ơn bạn. – Nick

Các vấn đề liên quan