Từ How to use “contains” or “like” in a dynamic linq query?
//edit: this is probably broken, see below
ids = new int[] {1,2,3,4};
dataContext.Table.Where("id.Contains(@0)", ids);
Bên cạnh: Đó là thực tế tốt để sử dụng placeholders trong các biểu thức LINQ năng động. Nếu không, bạn có thể mở lòng mình để tấn công tiêm LINQ (Is Injection Possible through Dynamic LINQ?)
EDIT:
thực sự tôi nghĩ mình sai lầm này lên. Rất tiếc, tôi không thể kiểm tra điều này vào lúc này. Nhưng tôi nghĩ rằng cú pháp chính xác trong trường hợp này phải là dataContext.Table.Where("@0.Contains(id)",ids);
, không phải là cách khác xung quanh, và phiên bản đó không không hoạt động ngoài hộp.
Xem here để biết cách thêm chức năng này vào liên kết động. Bạn cần phải sửa đổi thư viện cho việc này.
Cảm ơn, tôi biết điều này, nhưng tên cột "id" đang thay đổi. Tôi nhận được cột này một cách dè dặt. Vì vậy, tôi không thể sử dụng LINQ tĩnh. Tôi phải sử dụng thư viện LINQ động cho chuỗi nơi mà clausule là ví dụ. [Dynamic Linq] (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx) –
@Ingenu , đọc tài nguyên và bạn sẽ tìm hiểu Dynamic Linq là gì –