1
我有一個進口,從平面文件對SQL Server,其中很少的記錄實際上改變的EDM(運行它無數次用相同的導入文件),但仍然調用SaveChanges調用更新500條記錄需要相當長。我猜這是因爲我在實體對象上設置了每個屬性,然後EF使用ReportPropertyChanged
來表示記錄必須在數據庫中更新。只是因爲屬性更改或僅當它具有不同的值時EF會更新對象嗎?
我是不是真的有所有的進口recort屬性值與實體屬性值,並且只分配給實體屬性時,它們之間的區別,以避免這些冗長的「什麼也不做」的更新?
編輯: 的引領者更新屬性生成的代碼看起來像下面。我可以看到這個任務是無條件的,這就是爲什麼我要問是否實際生成對數據庫的UPDATE語句是有條件的。
set
{
OnUpdatedChanging(value);
ReportPropertyChanging("Updated");
_Updated = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Updated");
OnUpdatedChanged();
}
請參閱我的編輯。爲我生成的代碼沒有警惕。我正瞄準.NET 4.0 – ProfK 2010-09-21 08:31:36