支持“OdeToFoodDb”上下文的模型已在数据库创建后发生更改

“/”应用程序中的服务器错误。

支持“OdeToFoodDb”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: 支持“OdeToFoodDb”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。


解决:

PM> Enable-Migrations
在程序集“MVCPluginDemo.UI”中找到多个上下文类型。
要允许“MVCPluginDemo.UI.Models.ApplicationDbContext”的迁移,请使用 Enable-Migrations -ContextTypeName MVCPluginDemo.UI.Models.ApplicationDbContext。
要允许“MVCPluginDemo.UI.Models.OdeToFoodDb”的迁移,请使用 Enable-Migrations -ContextTypeName MVCPluginDemo.UI.Models.OdeToFoodDb。
PM> Enable-Migrations -ContextTypeName MVCPluginDemo.UI.Models.OdeToFoodDb
正在检查上下文的目标是否为现有数据库...
检测到使用数据库初始值设定项创建的数据库。已搭建与现有数据库对应的迁移“201504290901388_InitialCreate”的基架。若要改用自动迁移,请删除 Migrations 文件夹并重新运行指定了 -EnableAutomaticMigrations 参数的 Enable-Migrations。
已为项目 MVCPluginDemo.UI 启用 Code First 迁移。

启动后仍旧无效!!!

打开生成后的 Configuration,修改相关默认值:
 public Configuration()
        {
            AutomaticMigrationsEnabled = true;  //默认为 false
            ContextKey = "aspnet-MVCPluginDemo";  // 必须和配置文件数据库名称 一致,默认为上下文名称。
        }

重新运行,搞定!

更改数据库连接串:



参照网上解决方案:

PM> Update-Database
指定“-Verbose”标志以查看应用于目标数据库的 SQL 语句。
正在应用显式迁移: [201504290901388_InitialCreate]。
正在应用显式迁移: 201504290901388_InitialCreate。
正在应用自动迁移: 201505050733046_AutomaticMigration。
未应用自动迁移,因为自动迁移会导致数据丢失。

再次启用自动迁移:

PM> Enable-Migrations -ContextTypeName MVCPluginDemo.UI.Models.OdeToFoodDb -Force
正在检查上下文的目标是否为现有数据库...
已为项目 MVCPluginDemo.UI 启用 Code First 迁移。

重新输入数据库更新命令:

PM> Update-Database
指定“-Verbose”标志以查看应用于目标数据库的 SQL 语句。
正在应用显式迁移: [201504290901388_InitialCreate]。
正在应用显式迁移: 201504290901388_InitialCreate。
无法将数据库更新为与当前模型匹配,因为存在挂起的更改并且禁用了自动迁移。将挂起的模型更改写入基于代码的迁移或启用自动迁移。将 DbMigrationsConfiguration.AutomaticMigrationsEnabled 设置为 true 以启用自动迁移。
您可使用 Add-Migration 命令将挂起的模型更改写入基于代码的迁移。

按照提示,将配置文件 Configuration 修改 

 AutomaticMigrationsEnabled = true;  //默认为 false

问题依旧!!!
反复尝试多次,错误也依旧,于是删除了生成的自动迁移文件


再次尝试,ok!生成成功!!

注: 修改后的数据库连接串:

 <add name="OdeToFoodDbMy" connectionString="Data Source=(local);Initial Catalog=OdeToFoodDb;user id=sa;pwd=server;" providerName="System.Data.SqlClient" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值