我在我的解决方案中使用了EF Code-first和有限上下文(BC)来生成数据库。
一些表被部分地定义为不同BC中的类,以添加依赖表的外键,但总有一个BC用单个类定义具有所有字段的表格。
我没有找到基于多个上下文生成单个迁移的方法,因此我不得不添加多个迁移。但在每个迁移中,EF都会添加所有BC中所有类的更改,包括部分定义的表。最大的问题是:
似乎唯一解决它的方法是修改迁移管道,以排除具有特定属性标记的类定义的表格的创建或替换。
那么,是否有其他解决办法,或者我应该在EF源代码中进行修改并注入绕过例程?
一些表被部分地定义为不同BC中的类,以添加依赖表的外键,但总有一个BC用单个类定义具有所有字段的表格。
我没有找到基于多个上下文生成单个迁移的方法,因此我不得不添加多个迁移。但在每个迁移中,EF都会添加所有BC中所有类的更改,包括部分定义的表。最大的问题是:
- 当我添加部分表时,EF希望向DB添加一个新表,但该表已经存在
- 当我仅需要从映射到表的唯一部分的一个类中删除一个字段时,它会尝试从数据库中删除表中的字段,这会破坏其他类。
似乎唯一解决它的方法是修改迁移管道,以排除具有特定属性标记的类定义的表格的创建或替换。
那么,是否有其他解决办法,或者我应该在EF源代码中进行修改并注入绕过例程?