Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “什么是”呢;无法创建类型为'';。在此上下文中仅支持基元类型或枚举类型。”;_C#_Entity Framework - Fatal编程技术网

C# “什么是”呢;无法创建类型为'';。在此上下文中仅支持基元类型或枚举类型。”;

C# “什么是”呢;无法创建类型为'';。在此上下文中仅支持基元类型或枚举类型。”;,c#,entity-framework,C#,Entity Framework,这是一个int,所以我不确定所讨论的非原语类型是什么 var originalWaivers = _context.SurchargeWaivers .Where(x => updatedWaivers.Select(waiver => waiver.WaiverID).Contains(x.WaiverID)); 我试图查询数据库中的原始实体,以便更新它们 更新: 更具体地说,为什么这是一个问题。为什么列表可以工作,而IEnumerable是个问题?似乎更新的弃权是个问题。不要

这是一个int,所以我不确定所讨论的非原语类型是什么

 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
实际上在内存中,而不是在数据库中,所以它无法这样做。