C# - 实体框架之间的操作锁定记录

时间:2014-01-16 21:03:19

标签: c# entity-framework entity-framework-4.1 objectcontext rowlocking

我有一个实现实体框架4.1的应用程序,我为每个方法使用上下文实例

object select()
{
    using(DBContext context = new DBContext())
    {
        return context.table.Where(e => e.id == 1).FirstOrDefault();
    }
}

void update(entity)
{
    using(DBContext context = new DBContext())
    {
        context.Attach(entity);
        context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
        context.SaveChanges();
    }
}

它工作正常,问题是应用程序是多用户并且他们可以修改相同的记录,我想防止一个用户更改正由其他用户修改的记录,直到更新记录

entity = select(); // get the record and lock it
// do some change ,nobody can modify this record in the db
update(); // update the record and unlock it

有没有办法实现这个目标?

0 个答案:

没有答案