chạy mã này:DateTime thao tác bên trong LINQ to Entities truy vấn
public bool CheckTime(DateTime date, int UserID, int TotalTimeMin)
{
using (var context = new myDB())
{
var assginments = from c in context.Assignments.Where(x=>(x.AssignmentDateTime < date && x.AssignmentDateTime.Value.AddMinutes(TotalTimeMin) > date) ||
(x.AssignmentDateTime < date.AddMinutes(TotalTimeMin))) select c;
if(assginments != null) return false;
else return true;
}
}
tôi nhận được lỗi này.
LINQ to Entities does not recognize the method 'System.DateTime AddMinutes(Double)' method, and this method cannot be translated into a store expression.
TotalTimeMin is int. Tôi không chắc chắn nguyên nhân gây ra điều này: AssignmentDateTime là DateTime? và có lẽ đây là vấn đề?
Vấn đề là LINQ-to-Entities không biết cách dịch DateTime.AddMinutes sang ngôn ngữ kho dữ liệu của bạn (có thể là SQL). Có lẽ điều đó sẽ chỉ cho bạn đi đúng hướng. Tôi cần thêm thời gian để thực sự tìm ra giải pháp cho bạn. –
Cảm ơn, tôi đã thực sự chơi với nó một chút và bạn có thể đúng, không có vấn đề gì tôi làm, không thể sử dụng AddMinnute bên trong truy vấn (mặc dù tôi có thể dễ dàng viết nó với SQL ....) – Dani