1
說我有以下代碼:實體框架對象什麼時候處理其數據?
using (var db = new MyDatabaseContext())
{
foreach (var entity in db.LargeEntities)
{
byte[] data = entity.LargeBlob;
File.WriteAllBytes("c:\\" + entity.FileName);
}
}
當將爲每個entity.LargeBlob數據準備好垃圾收集?在循環中?使用說明後?我完成了WriteAllBytes行後面的對象,所以我希望儘快處理它。
好了,爲了實現更早的配置,我必須首先獲取主鍵列表,然後用循環內的using語句遍歷它,對吧? – Nilzor
@Nilzor:你可以加載實體而不用跟蹤。在EF 4.1中,這將是:'foreach(db.LargeEntities.AsNoTracking())中的var實體')。在這種情況下,EF不會在其上下文中緩存實體(至少如果您沒有在實體上加載延遲的屬性)。 – Slauma