EntityFramework 4 を使用しています。EntityCollection<SomeEntity> currentEntities
~500k のエンティティとList<SomeEntity> importedEntities
~500k のレコードがあります。currentEntities
に存在しない で発生するすべてのレコードのリストが必要importedEntities
です。
currentEntities.Select(x => x.ID).Except(importedEntities.Select(x => x.ID))
発生するレコードの一意の ID を取得するために呼び出すとSystem.OutOfMemoryException
、明らかにすべてのエンティティがメモリに読み込まれるため、 a が発生します。
呼び出しcurrentEntities.Where(x => !importedEntities.Any(y => y.ID == x.ID))
は失敗しますNotSupportedException
(「このコンテキストでは、プリミティブ型 ('Int32、String、および Guid' など) のみがサポートされています」)。
currentEntities
SQL Server 2008 R2 データベース上にありimportedEntities
、メモリ内にあります。
これは L2E でも可能ですか?