如何在现有数据库中添加表而不会丢失实体框架代码优先5.0中的数据?

Md.*_*man 5 .net c# t-sql sql-server entity-framework

最近我更新了我的软件,我需要在我的数据库中添加一个新表.我在用

Update-Database -Force -Verbose
Run Code Online (Sandbox Code Playgroud)

在我的开发PC中更新我的数据库.但是当我在我的客户机中安装我的软件的更新版本时,它会抛出以下异常.

The model backing the ‘MyContext’ context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)
Run Code Online (Sandbox Code Playgroud)

如果我删除并重新创建数据库,那么它工作正常.

但是在我的客户机中删除现有数据库是不可能的.我必须添加我的新表而不会丢失任何数据.

请告诉我如何添加新表而不会丢失现有数据库中的数据.

我在用

Visual Studio 2012
Entity Framework 5.0
DotNet 4.0
MSSQL Server 2008 R2
Run Code Online (Sandbox Code Playgroud)

Rob*_*ert 4

您需要使用Code First Migrations。当您设置 DbContext 时,它将如下所示:

Database.SetInitializer<dbContext>(new MigrateDatabaseToLatestVersion<dbContext, Configuration>());
Run Code Online (Sandbox Code Playgroud)