Entity Framework Code first 禁止重新生成数据表库数据 和实体类修改后如何对应表

尝试使用 Entity Framework Code first  写好代码后  数据库自动生成   很简单方便 。 现在问题来了  需求变化 需要增加字段  甚至增加表

这时会报错     增加字段保存出来的东西是 The model backing the 'BlogDB' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data.   增加表报错的是 更新条目错误          原因是EdmMetadata  有个这个表  再检查与实体是否匹配  只要把这个表删了  然后手动增加字段 让字段与实体匹配  就可以了 但不知道这样会有什么不好的影响没~ 

这里再说下另一种方法 阅读上面的报错信息  其中有这么一句or call Database.SetInitializer with an IDatabaseInitializer instance.    调用Database.SetInitializer方法来自动重建数据库  但是这就导致了数据会丢失的问题 不过开发初期还是可以用的
这篇文章有讲解
posted on 2011-05-25 21:45  wlf  阅读(2217)  评论(8编辑  收藏  举报