每次运行Update-Database时,Visual Studio 2015都会崩溃

jla*_*let 5 entity-framework ef-code-first ef-migrations entity-framework-6 visual-studio-2015

每次从包管理器控制台运行Update-Database时,Visual Studio 2015都会崩溃.它碰巧正在运行我的迁移Configuration.Seed方法.知道我应该在哪里找出发生了什么?

Dra*_*mok 3

崩溃很有可能是由项目代码而不是 Visual Studio 的内部工作引起的。

\n\n

正如m_david 在 OP 链接的问题中所建议的,第一步是在Seed()\xc2\xb9 的开头添加以下代码:

\n\n
if (System.Diagnostics.Debugger.IsAttached == false)\n{\n    System.Diagnostics.Debugger.Launch();\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将导致出现提示符\xc2\xb2,询问是否在 Visual Studio 的新实例或当前正在运行的另一个实例中启动调试器。

\n\n

之后,调试器的输出将被记录到该 VS 实例的调试输出,并且未处理的异常将被视为断点 - 并突出显示有问题的代码行、异常详细信息等等。

\n\n

就我而言,崩溃是由set()其中一个实体的成员中的递归操作引起的,这导致了StackOverflowException.

\n\n
\n\n

\xc2\xb9 或者你的DbMigrationsConfiguration子类的构造函数,如果崩溃发生得更早。或者可能是其他地方。

\n\n

\xc2\xb2 因此,当您不需要该代码时,请记住将其注释掉。

\n