c# - 在单独的程序集中启用带有上下文的迁移?

标签 c# .net entity-framework asp.net-mvc-4 entity-framework-migrations

我有一个项目,我想运行我的update-database,但我的模型和上下文在一个单独的项目中。

如果我运行 enable-migrations 我会得到这个错误: 在程序集“MyProject”中找不到上下文类型。

这大概是因为我的上下文在 MyProject.MVC 中。

如果我对 MyProject.MVC 运行 enable-migrations,我必须添加一个应用程序配置文件。我不想这样做,因为我想在许多项目中使用代码。

那么我可以针对 MyProject 运行 enable-migrations 并以某种方式告诉它在 MyProject.MVC 中查找上下文吗?

最佳答案

这仅适用于 EF 6,但有一个 release-ContextProjectName 参数添加到 -enable-migrations 命令。通过使用此命令,您可以执行以下操作:

enable-migrations -ContextProjectName MyProject.MVC -StartUpProjectName MyProject.MVC 
-ContextTypeName MyProject.MVC.MyContextFolder.MyContextName -ProjectName MyProject

这将使用 MyProject.MVC 中的上下文将迁移添加到您的 MyProject 项目。 您需要确保带有迁移的项目引用了带有上下文的项目,即 MyProject 引用 MyProject.MVC

关于c# - 在单独的程序集中启用带有上下文的迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126711/

相关文章:

c# - Protobuf.net - 需要序列化的类的所有字段

c# - Metro 应用程序的 C# Visual Studio 11 中的事件处理程序错误

c# - 具有不同当前文件夹的相对路径的绝对路径

c# - UserControl 不在 HitTestResult 中吗?

entity-framework - 如何将 Crystal 报表绑定(bind)到 Entity Framework ?

c# - 在 .NET 中捕获存储过程打印输出(不同的模型!)

c# - 从 C# 程序在 VLC 中启动流

c# - 如何在 EF core 中添加/更新与实体一端的多对多关系

c# - Task.WhenAll 在任务完成之前完成

c# - EF 7 : INSERT statement conflicted with the FOREIGN KEY SAME TABLE