C# “什么是”呢;无法创建类型为'';。在此上下文中仅支持基元类型或枚举类型。”;
这是一个int,所以我不确定所讨论的非原语类型是什么C# “什么是”呢;无法创建类型为'';。在此上下文中仅支持基元类型或枚举类型。”;,c#,entity-framework,C#,Entity Framework,这是一个int,所以我不确定所讨论的非原语类型是什么 var originalWaivers = _context.SurchargeWaivers .Where(x => updatedWaivers.Select(waiver => waiver.WaiverID).Contains(x.WaiverID)); 我试图查询数据库中的原始实体,以便更新它们 更新: 更具体地说,为什么这是一个问题。为什么列表可以工作,而IEnumerable是个问题?似乎更新的弃权是个问题。不要
var originalWaivers = _context.SurchargeWaivers
.Where(x => updatedWaivers.Select(waiver => waiver.WaiverID).Contains(x.WaiverID));
我试图查询数据库中的原始实体,以便更新它们
更新:
更具体地说,为什么这是一个问题。为什么列表可以工作,而IEnumerable是个问题?似乎
更新的弃权是个问题。不要对每个项目执行内部查询,只需将ID存储到列表中并使用它:
var idList = updatedWaivers.Select(waiver => waiver.WaiverID).ToList();
var originalWaivers = _context.SurchargeWaivers
.Where(x => idList.Contains(x.WaiverID));
谢谢,购买为什么会出现这个问题?因为LINQ to Entities正在尝试将UpdatedAguages.Select(弃权=>Aguages.AguagesRID)
转换为实际的SQL语句,而UpdatedAguages
实际上在内存中,而不是在数据库中,所以它无法这样做。