我正在开发一个MVC项目,在自动迁移中使用实体框架,并试图找出在添加新属性后如何更新数据库。
我有这种情况。
在:
public class X {
public int Id {get;set;}
public string Name {get;set;}
public bool IsChecked() {
... // some heavy duty routine
}
}
代码已经发布并且正在处理生产环境但速度慢所以我想缓存方法IsChecked。我改变了我的课程:
public class X {
public int Id {get;set;}
public string Name {get;set;}
public bool Checked {get;set;}
public bool SetChecked() {
bool result = ... // some heavy duty routine
Checked = result;
}
}
现在我想制作一个更新脚本,对数据库中的所有项目执行SetChecked。
应该采用什么方法?
答案 0 :(得分:1)
如果启用了迁移并设置为auto,则只需添加一个新的迁移,只需打开package-manager控制台,然后从下拉列表中选择项目并输入以下命令:
add-migration“迁移名称”
这将在迁移文件夹下创建一个新类,然后您必须编译并将新代码上载到服务器。在第一次查询之后,数据库将被更新。