我在Asp.net的mvc核心有三層應用程序和使用EF核心, 現在我想創建自動遷移,自動遷移EF核心的三層應用程序
我有DAL層可以在這裏找到我的上下文
public class AdminContext : DbContext
{
public AdminContext(DbContextOptions<AdminContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<AdsAdsCategory>()
.HasKey(bc => new { bc.AdsId, bc.AdsCategoryId });
modelBuilder.Entity<AdsAdsCategory>()
.HasOne(bc => bc.Ads)
.WithMany(b => b.AdsAdsCategories)
.HasForeignKey(bc => bc.AdsId);
modelBuilder.Entity<AdsAdsCategory>()
.HasOne(bc => bc.Category)
.WithMany(c => c.AdsAdsCategories)
.HasForeignKey(bc => bc.AdsCategoryId);
}
public DbSet<Ads> Adses { get; set; }
public DbSet<AdsCategory> AdsCategories { get; set; }
public DbSet<AdsPosition> AdsPositions { get; set; }
public DbSet<AdsCustomer> AdsCustomers { get; set; }
}
,並在我的應用程序啓動
我寫這篇文章的代碼
var context = app.ApplicationServices.GetService<AdminContext>();
if (!context.Database.EnsureCreated())
context.Database.Migrate();
當我運行應用數據庫創建和表生成但__migrationhistory不存在和遷移不產生,
當啓動時我除去產生這個線路碼
if (!context.Database.EnsureCreated())
數據庫創建和__migrationhistory表,但我的模型表不生成,
我怎麼能解決這個問題? 並在EF核心中的三層應用程序中運行自動遷移?
您希望讓代碼在啓動時生成新的遷移並應用它,或者僅應用您在創建之前創建的遷移? – Mats391
我希望migarion自動運行,當我更改模型時,數據庫被更新爲自動更新 – MrMVC