问题描述
- EF code first 实体类修改、添加、删除操作问题
- EF code First 怎么来更新已存在的数据库结构?
比如:在实体类中我新添加了一个字段、修改字段名称或者类型、删除一个字段 等操作后我怎么更新到已存在的数据库对于表中去。
担心:我在持续开发中,改变了数据库的结构,如果这时候用户已经用以前的版本创建好数据库并且有了许多数据,假使我的修改只增加了一个表的一个可空列。而为此我只能重新创建数据库。请问有没有别的办法,能够把新的数据库结构在不损伤数据的情况下更新到部署好的环境中?
当然我知道自己可以先写SQLScript来提前更新用户环境。但是EF有没有别的办法对于实体类中的字段新增、修改、删除等操作?
解决方案
参考:http://www.cnblogs.com/libingql/p/3330880.html
如果我的回答帮助了您,或者您希望得到小喵进一步的回答,请先采纳这个回答。
如果您觉得小喵的回答在所有回答中不是最好的,也请您在采纳别的大牛哥哥的答案的同时,点一个赞给我吧,您对小喵的鼓励是我前进的动力。
方法是光标移动到右边,点击采纳即可。这个步骤轻而易举,绝不耽误您宝贵的时间。
采纳我的回答还有如下好处:
(1)得到进一步深入的回答
(2)同时增加您的经验和人品,事实证明,采纳率高的用户,专家们更愿意回答你的提问,得到答案的速度和效率也更高。
(3)毫不耗费您的积分
可怜的小喵妹妹拜托您啦。祝您工作顺利~心想事成!
解决方案二:
1、修改数据库初始化策略,使用CreateDatabaseIfNotExists(如果数据库不存在则创建数据库),这样当业务实体类修改后,数据库就不会自动重建了,数据自然保存下来;
2、去数据库中修改实体类对应的相关数据表,保证实体类属性与对应的数据表的字段保持一致。
解决方案三:
http://blog.bossma.cn/csharp/code-first-how-to-upgrade-database/