是否可以在不同上下文中继承的上下文中修改/替换实体配置?
示例:我在名为 Framework 的解决方案中名为 Data.Access 的项目中有上下文。它的 OnModelCreating 函数因此添加了实体配置:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// TestEntityConfiguration is the configuration of an entity named TestEntity in the Framework solution
modelBuilder.Configurations.Add(new TestEntityConfiguration());
// multiple other configurations...
}
在另一个名为 FrameworkConsumer 的解决方案中,我有一个 Local.Data.Access 项目,该项目具有一个 Context 类,该类从 Framework 解决方案中的 Data.Access 扩展 Context。它的 OnModelCreating 函数如下所示:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Adds all the configurations from the Context in Data.Access in the Framework solution
base.OnModelCreating(modelBuilder);
// Other configurations local to the extended context go here...
}
我的问题是这个。在 FrameworkConsumer 解决方案的 Local.Data.Access 项目中,如果我想为 TestEntity 添加额外的配置设置或不同的配置,如何实现或可以做到这一点?我尝试添加另一个配置,但是,我收到错误消息,指出该实体 (TestEntity) 已配置。目前,我添加额外配置的解决方案是在 Local.Data.Access Context 类的 Dispose 函数中使用 Database.ExecuteSqlCommand。不优雅,但它有效。任何想法/建议将不胜感激。
谢谢