Manual changes with ModelBuilder
Sometimes we modify model by ModelBuilder. Shaman uses ModelInfo and set of plugins in order to reconstruct model and create patches.
1 2 3 4 5 6 7 8 9 10 |
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // manual changes var er = modelBuilder.Model.GetEntityTypes() .Single(a => a.ClrType == typeof(MyEntityWithDifferentTableName)); er.Relational().TableName = "ManualChange"; this.FixOnModelCreating(modelBuilder); } |
ModelInfo uses IModel from DbContext. It creates instance of DbContext with and reads raw model without Shaman modifications.