即使啓用了自動遷移,我是否必須在包管理器控制檯中手動發出Update-Database
命令?自動遷移和手動調用更新數據庫
我正在運行MVC4和EF6。該解決方案針對.NET 4(我不能改變這個不幸)。
編輯:我意識到代碼遷移之間的差異,這將需要我正確種子存在的表。這個問題更多地基於一個場景,我添加一個沒有關係的表,我認爲它會運行?
編輯2:表應自動添加
============
新的表定義
public class InboundFile : Entity
{
[Required]
public String FilePath { get; set; }
}
EF配置文件
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
MigrationsDirectory = @"Migrations";
}
protected override void Seed(Unifi.Context.DBContext context)
{
context.InboundFiles.AddOrUpdate(
x => x.FilePath,
new InboundFile { CreateDate = DateTime.Now, ModifiedDate = DateTime.Now, FilePath = "c:/test", IsDeleted = false }
);
}
DB語境
公共類的DbContext:的DbContext {
public DBContext()
: base("MyConn")
{
}
public DbSet<User> Users { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public DbSet<Region> Regions { get; set; }
public DbSet<InboundFile> InboundFiles { get; set; }
}
完美!這正是我所期待的 – mituw16