无法在内存列表中查找实体框架

时间:2012-01-18 17:38:06

标签: c# sql linq entity-framework-4

我正在使用内存列表在我的实体数据库中查找,但是我收到此错误:

无法创建类型为'System.Collections.Generic.List`1'的常量值。在此上下文中仅支持原始类型(例如Int32,String和Guid')。

我使用的代码是:

dgv.DataSource = (from x in Helper.Ctx.Planner where myList.Contains(x.Customer) select x).Take(100);

我研究了这个问题并发现它建议我首先使用ToList()检索所有内容但是数据库非常大,并且通过网络检索整个内容每次都需要几分钟。

我正在使用EF4.1和VS 2010。

请问任何解决方案?!

1 个答案:

答案 0 :(得分:2)

比较Customer的Pk键而不是完整的对象。

myList.Select(x => x.Id).Contains(x.Customer.Id)