是否可以在EF Code First实体上禁用更新/删除?

6 c# entity-framework ef-code-first

是否可以创建一个允许您创建记录但禁用更新和删除的EF实体.我有数据对象,我想允许代码在DB中创建记录,但不允许他们更改或删除它们.我正在使用EF代码第一种方法.

dkn*_*ack 6

是的,你可以覆盖你的SaveChanges方法,DbContext并可以防止这种情况.

public override int SaveChanges()
{
    foreach (DbEntityEntry entity in this.ChangeTracker.Entries)
    {
        if (entity.State == System.Data.EntityState.Modified)
            return;
        // more logic, depending on your needs
    }

    base.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)