当我从Package Manager控制台运行update-database但不知道如何操作时,我想在我的Entity Framework数据库配置类中调试Seed()方法.我想与其他人分享解决方案,以防他们遇到同样的问题.
我们正在使用Entity Framework 4.4并使用迁移.数据库已经存在,我们需要定期更新它.但是,种子方法未被调用,因此未添加查找值.
代码如下:
internal sealed class Configuration : DbMigrationsConfiguration<MyDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
SetSqlGenerator("System.Data.SqlClient", new OurSqlServerMigrationSqlGenerator());
}
protected override void Seed(KinectionDbContext context)
{
SeedLookupTables(context);
}
private static void SeedLookupTables(KinectionDbContext context)
{
context.Titles.AddOrUpdate(t => t.Value,
new Title {Value = "Mr"},
new Title {Value = "Mrs"},
new Title {Value = "Miss"},
new Title {Value = "Ms"},
new Title {Value = "Dr"}
);
context.SaveChanges();
}
}
public class MyDbContext : ObjectContext
{
public MyDbContext()
{
}
static MyDbContext () …Run Code Online (Sandbox Code Playgroud)