Dan*_*ani 8 linq-to-entities entity-framework-4
运行此代码:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误.
LINQ to Entities does not recognize the method 'System.DateTime AddMinutes(Double)' method, and this method cannot be translated into a store expression.
Run Code Online (Sandbox Code Playgroud)
TotalTimeMin是int.我不确定是什么原因导致的:AssignmentDateTime是DateTime?也许这就是问题?
Cra*_*ntz 16
使用EntityFunctions.AddMinutes(需要EF 4):
public bool CheckTime(DateTime date, int UserID, int TotalTimeMin)
{
using (var context = new myDB())
{
var assginments = context.Assignments
.Where(x=>(x.AssignmentDateTime < date
&& EntityFunctions.AddMinutes(x.AssignmentDateTime,TotalTimeMin) > date)
|| (x.AssignmentDateTime < date.AddMinutes(TotalTimeMin)));
if(assginments != null) return false;
else return true;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,assignments将永远不会为空(但也可能是空的-测试assignments.Any()).
| 归档时间: |
|
| 查看次数: |
4516 次 |
| 最近记录: |