C# 实体框架下的数据库更新

C# 实体框架下的数据库更新,c#,entity-framework,C#,Entity Framework,如何使用SetInitializer仅更新数据库?我不想删除并重新创建它,因为我只添加了一列: Database.SetInitializer<myDbContext>( /* Here */ ); Database.SetInitializer(/*此处*/); 基本上您需要使用,因为您的模型类(实体类)已更改 你也可以创建你自己的,如果上面做的话 无法满足您的要求,或者您希望执行其他流程 它使用上述初始化器初始化数据库 应该是这样的: public class YourCust

如何使用
SetInitializer
仅更新数据库?我不想删除并重新创建它,因为我只添加了一列:

Database.SetInitializer<myDbContext>( /* Here */ );
Database.SetInitializer(/*此处*/);
基本上您需要使用,因为您的模型类(实体类)已更改

你也可以创建你自己的,如果上面做的话 无法满足您的要求,或者您希望执行其他流程 它使用上述初始化器初始化数据库

应该是这样的:

public class YourCustomInitializer : DropCreateDatabaseIfModelChanges<YourDBContext>
{
    protected override void Seed(YourDBContext context)
    {
        // sample data to be written or updated to the DB
    }
}
public类YourCustomInitializer:DropCreateDatabaseIfModelChanges
{
受保护的覆盖无效种子(YourDBContext上下文)
{
//要写入或更新到数据库的样本数据
}
}

值得一提的是,您可以简单地将新列添加到实体中,然后使用命令。您需要在PackageManagerConsole中运行这些命令。

您需要向其中添加迁移@我用的是库拉EF5@user1187282EF5仍然可以使用迁移。如何使用DbContext添加列?@user1187282查看我的更新答案。我想OP不想删除并创建数据库?!