Tôi có một truy vấn LINQ trả về cho một loại var myQryngày So sánh trong truy vấn sử dụng LINQ
var myQry = from .....
Đây là một LINQ lớn trả về tất cả các hồ sơ mà tôi cần để lọc thêm. Trong một trong những điều kiện nếu tôi có bộ lọc chạy như thế này để kiểm tra ngày tháng. Tôi cần kiểm tra xem tên có chứa tên đã nhập và khớp chính xác với ngày sinh không.
Tôi cố gắng này mà biên dịch và chạy, nhưng đã không làm việc một cách chính xác
myQry.Where(x => x.FirstName.Contains(strName) && DateTime.Compare(x.BirthDt, searchDt)>=0).ToList()
Sau đó, tôi đã cố gắng này đã mang đến cho ném một ngoại lệ "lập luận DbArithmeticExpression phải có một loại phổ biến số"
myQry.Where(x => x.FirstName.Contains(strName) && (x.BirthDt- searchDt).Days == 0).ToList();
Đối với loại tình huống như vậy khi tôi sử dụng mệnh đề where trên truy vấn của tôi, cách tốt nhất để so sánh ngày là gì? Loại hoạt động nào không được phép trong mệnh đề where của truy vấn LINQ?
Cảm ơn thời gian của bạn ...
Loại 'x.BirthDt' là gì? Loại 'searchDt' là gì? Rõ ràng chúng không phải là cả hai 'DateTime'. – Servy
Và bạn có trong linq2sql hoặc linq2entities không? –
Cả hai đều là datetime. Tôi đang ở linq2sql – user20358