我有一个使用Entity Framework 7 RC1的ASP.NET项目。我正尝试使用迁移来创建我的数据库。我创建了一个初始迁移,并在我的项目中查看生成的代码。在创建迁移后立即运行dnx ef migrations list
命令,但它说没有找到迁移。另外,如果我尝试应用迁移,它看起来不像创建生成的迁移代码中的表 - 它确实会创建数据库。列出迁移显示找不到迁移,为什么?
任何想法?
我有一个使用Entity Framework 7 RC1的ASP.NET项目。我正尝试使用迁移来创建我的数据库。我创建了一个初始迁移,并在我的项目中查看生成的代码。在创建迁移后立即运行dnx ef migrations list
命令,但它说没有找到迁移。另外,如果我尝试应用迁移,它看起来不像创建生成的迁移代码中的表 - 它确实会创建数据库。列出迁移显示找不到迁移,为什么?
任何想法?
以防万一链接消失。 Ryan链接到的github问题说在UseSqlServer调用之后添加.MigrationsAssembly(“[project]”)。像这样的东西。
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ExampleContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]).
MigrationsAssembly("Example.Api"));
还是现在甚至更好,你可以使用--targetProject每
https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes-(October-28,-2015)
cd src\MyApp
dnx ef migrations add MyMigration --targetProject MyApp.Data
这将迁移添加到TragetProject其中的DbContext住
我发现问题与我的项目结构有关。我的DbContext
在一个项目中定义,而我的迁移正在我的另一个项目中创建。这似乎并没有开箱即用,但如何使这项工作详细在这里:https://github.com/aspnet/EntityFramework/issues/3840
我也有同样的问题。
dnx ef migrations list
显示空列表。然后我意识到我将部分“db类”移到了另一个项目中。 解决方案如何正确做到这里: http://www.jerriepelser.com/blog/moving-entity-framework-7-models-to-external-project thx Jerrie;)
所以你得到一个空的数据库,没有表?尚未使用ef7;它是否还有dbo .__ migrationhistory表,如果有,它是什么? –
对,我得到一个空的数据库,没有表格。它具有迁移历史记录表,但该表没有行。 – Ryan