2012-01-19 10 views
6

Es posible crear una entidad EF que le permite crear registros pero deshabilitar la actualización y elimina. Tengo el objeto de datos que quiero permitir que el código cree registros en DB, pero no se les debe permitir cambiarlos o eliminarlos. Estoy usando el primer enfoque del código EF.¿Es posible deshabilitar Actualizar/Eliminar en entidades con el código EF primero?

+0

¿No es posible encapsular su contexto en un Repositorio que solo admite agregar entidades? –

+0

Esa era la opción 2, pero se las arregló para anular el rastreador de cambios que se ofrece a continuación. – Darren

Respuesta

6

Sí, puede anular el método SaveChanges de su DbContext y evitarlo.

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(); 
} 
+0

Gracias por esto. Vamos a utilizar esto y tratamos de cambiar el estado de update/deleet a cambios (entity.State = System.Data.EntityState.Unchanged;) y ver si esto permite guardar otros tipos de cambios. – Darren

+0

Como se mencionó anteriormente, funcionó de maravilla con cambiar el estado a sin cambios por lo que los cambios nunca se grabaron. Gracias. – Darren

+0

¡Me alegra ayudar! Que tengas un buen día. – dknaack

Cuestiones relacionadas