自我跟蹤實體。真棒。處理非跟蹤自我跟蹤實體的正確方法是什麼?
,當你做這樣的事情
return Db.Users;
沒有自跟蹤實體正在跟蹤(至可能的話,他們是反序列化)除。
好。所以我們必須認識到,返回給我們的實體可能沒有啓用跟蹤。
現在呢?
事情我已經試過
對於給定的方法體:
using (var db = new Database())
{
if (update.ChangeTracker.ChangeTrackingEnabled)
db.Configurations.ApplyChanges(update);
else
FigureItOut(update, db);
db.SaveChanges();
update.AcceptChanges();
}
的FigureItOut
所有下面的實現失敗:
db.Configurations.Attach(update);
db.DetectChanges();
也
db.Configurations.Attach(update);
db.Configurations.ApplyCurrentValues(update);
也
db.Configurations.Attach(update);
db.Configurations.ApplyOriginalValues(update);
也
db.Configurations.Attach(update);
db.Configurations.ApplyChanges(update
也約比
- 別的我可以計算扔它,其他的從數據庫
- 比較獲取原始實體每手財產
- 個更新屬性需要
究竟什麼我應該與不追蹤自己自跟蹤實體辦??
小更新:
盲目標誌着實體修改的作品,然而,這似乎有點臭。在這種情況下,我們能做到最好嗎?
唉,看來我有,再一次,走在哪裏,至少不是很多,之前已經走了。 – Will