请问EF 如何自动 migration 更新数据库 MigrateDatabaseToLatestVersion

hercules135 2017-03-29 09:46:55
自动更新一直都搞不定,不可能每次都要手动切换到生产环境然后update-database吧

查询了一些帖子 都是一笔带过 其中有提到 MigrateDatabaseToLatestVersion 看上去很像,但是尝试了几次 并不能项目启动就自动升级数据库

求解,谢谢,100分送上
...全文
808 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
raycmort 2020-03-15
  • 打赏
  • 举报
回复
以下为个人看法: 1. 设计模型 2. add-migration 3. update-database(开发环境数据库更新) 4. script-migration -idempotent (生成幂等sql脚本) 5. 复制脚本内容到生产环境,运行幂等sql脚本,更新生产环境数据库。 6. 修改模型 7. add-migration ...(重复上述流程) 幂等sql脚本增加了很多判断,会自动判断什么内容是需要添加的,重复执行幂等脚本都会得到同样的结果。 实际上第一次执行后,后续执行影响的行数都是0. script-migration -idempotent 参考官方文档 https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell
ZT520BF 2017-11-07
  • 打赏
  • 举报
回复
能不能详细的说一下,我用的是EF+MVC不能自动更新,希望详细的说一下,谢谢。
hercules135 2017-03-29
  • 打赏
  • 举报
回复
引用 3 楼 foren_whb 的回复:
不要说不行, 我那么多项目都这么用了, 怎么都行呢? 还是多找找原因吧, 肯定有地方搞错了
老哥 行了,webapi项目,必须主动调用一下接口 才会去修改数据库 不是直接F5就更新的...
hercules135 2017-03-29
  • 打赏
  • 举报
回复
引用 3 楼 foren_whb 的回复:
不要说不行, 我那么多项目都这么用了, 怎么都行呢? 还是多找找原因吧, 肯定有地方搞错了
恩 必然是有地方有问题,但是帖子中有关的内容就这一行代码,也没办法确定是有什么问题 有没有其他需要注意的点呢? 我这个是webapi项目,开启了

        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }
另外,update-database 是可以正常使用的,也就是说链接字符串数据库等都是没问题的,老哥帮帮忙
丰云 2017-03-29
  • 打赏
  • 举报
回复
不要说不行, 我那么多项目都这么用了, 怎么都行呢? 还是多找找原因吧, 肯定有地方搞错了
hercules135 2017-03-29
  • 打赏
  • 举报
回复
引用 1 楼 foren_whb 的回复:
就是自动迁移, 参考我的博客吧
老哥 不行哦
4.  配置自动迁移  
         在应用程序的入口方法(函数)里注册自动迁移:  
         Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataBase.Member.MemberEntities, DataBase.MemberMigrations.Configuration>());   
         注意:Configuration.cs生成的是internal sealed class,如果不在启动程序集中,则需要修改成public  
然后运行 没有用,数据库还是没有更新,手动 update是可以的
丰云 2017-03-29
  • 打赏
  • 举报
回复
就是自动迁移, 参考我的博客吧

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧