当前位置: 代码迷 >> .NET Framework >> EntityFramework CodeFirst 新增表字段的有关问题
  详细解决方案

EntityFramework CodeFirst 新增表字段的有关问题

热度:460   发布时间:2016-05-01 23:21:19.0
EntityFramework CodeFirst 新增表字段的问题
在使用EntityFramework的过程中,我选择了Code First的方式,创建实体类=>对应上下文=>映射到数据库
在第一次的时候,是没有什么问题的

但是假如我创建了表A,当我需要在表A中新增两个字段,就无法仅仅是通过向实体类中新增两个属性那么简单了

请各位朋友指教一下,EntityFramework CodeFirst的方式,如何动态修改数据库和表
------解决思路----------------------
像你说的这种情况,在项目运营过一段时间后(已经产生有大量数据),
如果变动比较小,比如新增或删除一两个字段
先备份好数据库以后 直接进行数据表操作,将你的数据模型和数据库表做上对应就好了,
需要注意的是,项目上线一般需要将DataContext设置一下
Database.SetInitializer<DataContext>(null);
而不能设置
Database.SetInitializer<DataContext>(new DropCreateDatabaseIfModelChanges<DataContext>());或者
Database.SetInitializer<DataContext>(new DropCreateDatabaseAlways<DataContext>());等等其他方式,
以防意外导致数据库被删除,重新生成(因为自己添加字段可能与你的模型映射不一致)

如果改动非常大,那么可能就要换另外一种方案了,数据迁移,或者自己导入数据。
  相关解决方案