我in在foreach循环中指向错误!?从来没有发生过.这可能是什么原因?我错过了什么吗?
错误信息:
EntityFramework.SqlServer.dll中出现"System.NotSupportedException"类型的异常,但未在用户代码中处理
附加信息:无法创建"System.Object"类型的常量值.在此上下文中仅支持基元类型或枚举类型.
我的代码:
List<int> WeeksInProject = new List<int>();
var w = from x in db.Activities
where x.ProjectID.Equals(1)
select x;
foreach (var wNum in w)
{
WeeksInProject.Add(wNum.WeekNumber);
}
Run Code Online (Sandbox Code Playgroud)
var w = from x in db.Activities
where x.ProjectID.Equals(1) select x;
Run Code Online (Sandbox Code Playgroud)
应该:
var w = from x in db.Activities
where x.ProjectID == 1 select x;
Run Code Online (Sandbox Code Playgroud)
如果ProjectID是int?,
var w = from x in db.Activities where
x.ProjectID.HasValue &&
x.ProjectID.Value == 1 select x;
Run Code Online (Sandbox Code Playgroud)
List<int> WeeksInProject = new List<int>();
var w = from x in db.Activities
where x.ProjectID != null && (int)x.ProjectID == 1
select x;
foreach (var wNum in w)
{
WeeksInProject.Add(wNum.WeekNumber);
}
Run Code Online (Sandbox Code Playgroud)
由于 ProjectID 是一个,因此int?您必须检查是否为空,然后进行强制转换。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |