关于code first的问题 谢谢大神

wujcguxy 2017-11-01 02:30:09
目前项目中使用的是code first, 然后上线发布了之后客户提出了一些新的需求,导致我们需要建一些新的表和增加原有表的字段
但是上线之后的那个数据库版本已经被客户增加了一些业务数据,所以我想的是程序改动不使用code first了,修改数据库之后把修改脚本复制到服务器数据库上运行 然后业务数据没有改变 程序也不会报错。请问大神如何实现呢,简单点就是程序不想用code first了,如何切断。。。
...全文
318 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujcguxy 2017-11-01
  • 打赏
  • 举报
回复
谢谢版主的回复 我的问题解决了 第一次发帖 好像是要结贴的 问题解决如下 在环境中我们用code first更改字段或者表时会用NuGet的Update-Database更新数据库,上传服务器后无法用NuGet的Update-Database 所以要在程序中进行自动迁移 配置自动迁移 : 在应用程序的入口方法(函数)里注册自动迁移: Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataBase.Member.MemberEntities, DataBase.MemberMigrations.Configuration>()); 注意:Configuration.cs生成的是internal sealed class,如果不在启动程序集中,则需要修改成public 我的项目是MVC的 所以大家在Global.asax中的Application_Start()方法里添加如上代码即可
正怒月神 2017-11-01
  • 打赏
  • 举报
回复
那你直接增加数据库字段就行了。 codefirst貌似也没有问题。 理论上来说。多增加的字段,在model中不存在,是不会映射的。 你可以直接本地测试一下效果。 至于切断code first,不是太明白意思。 我这里都是创建一个 dbcontext和整个的model实体模块。只是通过dbcontext的配置来映射到数据库而已。 所以不知道你指的切断code first是指什么?

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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