首页 > 解决方案 > 实体框架 6 DbMigration 中的 EntityTypeConfigurations 过多:StackoverflowException

问题描述

在我当前的一个项目中,我们使用 EntityFramework 6.1.3 进行手动迁移。到目前为止,一切正常,但现在我们达到了单个 DbContext 的 850 个 EntityTypeConfigurations 的数量。从那时起,数据库的创建导致 DbMigration 中的 StackOverflowException。不幸的是,我没有看到比这个例外更多的信息:

DbMigration 中的 Stackoverflow

当我删除几个 EntityTypeConfigurations 时,它似乎又可以工作了。因此,从技术上讲,我可以将数据库拆分为不同的 DbContext 或将 DbMigration 步骤拆分为多个步骤。它会起作用,但它也很讨厌。

有没有人有同样的问题?

标签: entity-framework-migrations

解决方案


答案 (afaik) 是将这个巨大的 EF 上下文拆分为多个较小的上下文。第一种方法是通过捆绑 EF 类型配置将大上下文拆分为多个 InitialCreate。这是一种非常复杂的方法,如果您需要刷新逻辑 InitialCreate 迁移步骤,则会导致更高的复杂性。更好的方法是在逻辑上拆分大型 EF 上下文:将其划分为多个更小的、与域相关的上下文。


推荐阅读