Để có được một danh sách các hồ sơ Tôi thường làm điều gì đó dọc theo dòng:Entity Framework - Cách thực hiện để kiểm tra hồ sơ duy nhất trước khi sử dụng chúng
var efCompany = from a in _dbRiv.Company where a.CompanyId == companyFeedInfo.CompanyId select a;
Để có được một hồ sơ duy nhất, khi tôi biết tôi đang sử dụng PK để lấy nó, tôi sử dụng cái gì đó như:
var efCompany = (from a in _dbRiv.Company where a.CompanyId == companyFeedInfo.CompanyId select a).First();
Bây giờ, sử dụng phương pháp hồ sơ duy nhất, nếu PK là một giá trị bị lỗi (như nó cố tình là trong thử nghiệm) dòng thứ 2 ném một lỗi.
thực hành tốt nhất cách nhận một bản ghi duy nhất và xử lý nó là gì?
Cảm ơn nhận xét bổ sung về biểu thức truy vấn. Vẫn học được rất nhiều về EF và tâm trí của tôi không hoàn toàn quấn quanh cú pháp lambda. Nhắc tôi rất nhiều con trỏ bộ nhớ C cũ. ;) –
'SingleOrDefault' được hỗ trợ trong EF 4, nhưng không phải trong EF 1.' FirstOrDefault' được hỗ trợ cả hai. –
@Jon Skeet - Whats sự khác biệt giữa việc đặt các từ khóa đặt hàng trên chuỗi LINQ ... ví dụ: '_db.MyModels.Where (a => a.Prop ==" value "). SingleOrDefault();' so với '_db.MyModels.SingleOrDefault(). ở đâu (a => a.Prop ==" giá trị "); '- Biểu diễn? Lệnh thi hành? vv ... –