【问题标题】:How can i add a table in my existing database without losing data in Entity-framework Code first 5.0 ?如何在现有数据库中添加表而不会丢失 Entity-framework Code first 5.0 中的数据?
【发布时间】:2013-02-18 19:36:00
【问题描述】:

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

Update-Database -Force -Verbose

在我的开发 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)

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

但是在我的客户端机器中删除现有数据库是完全不可能的。我必须在不丢失任何数据的情况下添加新表。

请告诉我如何在不丢失现有数据库中的数据的情况下添加新表。

我正在使用

Visual Studio 2012
Entity Framework 5.0
DotNet 4.0
MSSQL Server 2008 R2

【问题讨论】:

  • 您是否通过链接了解了 Code First 迁移?这就是如何在不使用 EF 删除数据库的情况下更新数据库。

标签: c# .net sql-server entity-framework tsql


【解决方案1】:

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

Database.SetInitializer<dbContext>(new MigrateDatabaseToLatestVersion<dbContext, Configuration>());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2023-03-17
    相关资源
    最近更新 更多