2013-03-10 30 views
6

Tôi đã thấy rất nhiều câu hỏi về vấn đề này nhưng không thể tìm thấy một giải pháp làm sạch:cách sạch để kiểm tra Null trong Lambda Expressions

Tôi có biểu thức lambda sau:

var result = Store.FirstOrDefault(x.Products.Coupon[0] == 100); 

tôi muốn kiểm tra null cho bộ sưu tập Coupon để kiểm tra xem nếu nó không null và sau đó so sánh phiếu giảm giá đầu tiên với giá trị 100. Điều gì sẽ là một cách sạch sẽ để kiểm tra NULL cho phiếu giảm giá trong lambda? Tôi không muốn sử dụng một phương pháp mở rộng để kiểm tra null. Tôi muốn kiểm tra nội tuyến.

+2

Thật không may trong linq-sql không có thứ tự bảo đảm cho séc để bạn không thể kiểm tra giá trị rỗng và sau đó kiểm tra đối tượng rỗng vì nó sẽ phát sinh lỗi. LINQ-đối tượng hỗ trợ này mặc dù. –

Trả lời

14
var result = Store.FirstOrDefault(x => x.Products.Coupon != null && x.Products.Coupon.Any() && x.Products.Coupon[0] == 100); 
+2

@TravisJ user1527762 không đề cập đến bất kỳ điều gì về việc cần hỗ trợ LINQ cho Sql trong câu hỏi. –

+2

Xin lỗi quên đề cập đến, đây không phải là LINQ để sql nhưng LINQ để đối tượng lambda – user1527762

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