queries learn framework firstordefault con .net entity-framework entity-framework-4 datacontext readonly

.net - learn - queries in entity framework



Cómo hacer que el contexto de datos de Entity Framework sea solo de lectura (1)

Necesito exponer un contexto de datos de Entity Framework a complementos de terceros. El objetivo es permitir que estos complementos capturen solo datos y no les permitan emitir inserciones, actualizaciones o eliminaciones o cualquier otro comando de modificación de la base de datos. Por lo tanto, ¿cómo puedo hacer un contexto de datos o entidad de solo lectura?


Además de conectarse con un usuario de solo lectura, hay algunas otras cosas que puede hacer con su DbContext.

public class MyReadOnlyContext : DbContext { // Use ReadOnlyConnectionString from App/Web.config public MyContext() : base("Name=ReadOnlyConnectionString") { } // Don''t expose Add(), Remove(), etc. public DbQuery<Customer> Customers { get { // Don''t track changes to query results return Set<Customer>().AsNoTracking(); } } public override int SaveChanges() { // Throw if they try to call this throw new InvalidOperationException("This context is read-only."); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { // Need this since there is no DbSet<Customer> property modelBuilder.Entity<Customer>(); } }