我遇到了最奇怪的问题,我从 EF 获取一个对象并将其传递回业务逻辑进行操作,完成后我试图将对象保存回数据库,当对象被传递到以下方法时,它是 EntityState已修改,但只要附加代码行运行,它就会设置为 UnChanged,因此保存将不起作用。
有谁知道为什么EF会这样做?
public void Save(IEntity entity)
{
using (var context = new eDocumentEntities())
{
using (var scope = new TransactionScope())
{
if (entity.Id != 0)
context.AttachTo(entity.EntitySet, entity);
else
context.AddObject(entity.EntitySet, entity);
context.SaveChanges();
scope.Complete();
}
}
}