我有一個使用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