tôi đã nhận thấy rằng khi sử dụng Có trong EFTiêm SQL có thể khi sử dụng chứa với EF?
.Where(i => myListOfStrings.Contains(i.Value))
SQL được tạo ra trông như thế này
IN ('Value1', 'Value2')
Kể từ khi giá trị không phải là tham số, chứ không phải là nó có thể tiêm một số SQL?
Bạn đang xem SQL được tạo từ đâu? Hồ sơ? Tôi cho rằng EF đang thực hiện mã hóa chuỗi có liên quan của các giá trị trước khi chuyển truy vấn. –
Hãy dùng thử! Chuyển vào một cái gì đó như '') HOẶC 1 = 1 -' – Rodders
http://stackoverflow.com/questions/473173/will-using-linq-to-sql-help-prevent-sql-injection –