我正在使用内存列表在我的实体数据库中查找,但是我收到此错误:
无法创建类型为'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。
请问任何解决方案?!
答案 0 :(得分:2)
比较Customer的Pk键而不是完整的对象。
myList.Select(x => x.Id).Contains(x.Customer.Id)