entity-framework-migrations - 实体框架 6 DbMigration 中的 EntityTypeConfigurations 过多:StackoverflowException
问题描述
在我当前的一个项目中,我们使用 EntityFramework 6.1.3 进行手动迁移。到目前为止,一切正常,但现在我们达到了单个 DbContext 的 850 个 EntityTypeConfigurations 的数量。从那时起,数据库的创建导致 DbMigration 中的 StackOverflowException。不幸的是,我没有看到比这个例外更多的信息:
当我删除几个 EntityTypeConfigurations 时,它似乎又可以工作了。因此,从技术上讲,我可以将数据库拆分为不同的 DbContext 或将 DbMigration 步骤拆分为多个步骤。它会起作用,但它也很讨厌。
有没有人有同样的问题?
解决方案
答案 (afaik) 是将这个巨大的 EF 上下文拆分为多个较小的上下文。第一种方法是通过捆绑 EF 类型配置将大上下文拆分为多个 InitialCreate。这是一种非常复杂的方法,如果您需要刷新逻辑 InitialCreate 迁移步骤,则会导致更高的复杂性。更好的方法是在逻辑上拆分大型 EF 上下文:将其划分为多个更小的、与域相关的上下文。
推荐阅读
- matlab - 在 MATLAB 中计算两个变量的函数的 minmax
- ios - 如何使用 VNImageRequestHandler 进行多个图像输入?
- c# - C# 中的 F# 中缀运算符?
- javascript - 对解构变量进行赋值是否合适?
- javascript - 创建新的 Promise 而不是使用 then() JS
- python - BeautifulSoup 中的查找按钮
- replace - Notepad++ 替换为双引号字符
- javascript - 在向客户端发送响应之前处理 NodeJS 流式传输值
- python-3.x - 导入值未更改
- spring - 将响应转换为 JSON 格式 spring