使用 EntityFramework 4。我有一个EntityCollection<SomeEntity> currentEntities
~500k 实体和一个List<SomeEntity> importedEntities
也有 ~500k 记录。我想要列出所有currentEntities
不存在的记录的列表importedEntities
。
调用currentEntities.Select(x => x.ID).Except(importedEntities.Select(x => x.ID))
以获取出现记录的唯一 ID 会导致 a System.OutOfMemoryException
,因为它显然会将所有实体加载到内存中。
调用currentEntities.Where(x => !importedEntities.Any(y => y.ID == x.ID))
失败并显示NotSupportedException
(“在此上下文中仅支持原始类型('例如 Int32、String 和 Guid')”)。
currentEntities
在 SQL Server 2008 R2 数据库上,而importedEntities
在内存中。
这在 L2E 中甚至可能吗?