自我跟踪实体。真棒。处理非跟踪自我跟踪实体的正确方法是什么?
,当你做这样的事情
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