当数据模型发生变化,而与数据库不同步的时候,该怎么办?
之前的一次“神操作”: 通过EF designer 修改了 entity data model,然后通过generate database from data model, 直接向远程sql server 执行了sql生成脚本,导致了之前的数据全部清除掉了。
那么到底可不可以通过EF designer 来更新,而不是重新生数据库呢?
比如说我们想在我们的model中加入一个新的实体 (factory entity),同时想在数据库中生成新的table,来存储对应的实体。
目前可以说没有比较快捷的办法,只能采取数据库迁移的办法:
微软文档上有这么一段话:“If you need to publish changes to a database that has already been deployed, you will need to edit the script or use a schema compare tool to calculate a migration script.”
结论是,如果想改变已经部署了的数据库(已经有数据了),必须要自己生成一个migration script。来改变数据库