我们拥有ASP MVC实体框架6 Code First项目,在MS SQL数据库中有70多个表。
对于每个表上的每个记录,我们存储最后修改它的用户。几乎每个表的结构都是这样的:
public class TableA
{
public int Id{ get; set; }
.....
public DateTime? DateModified { get; set; }
public int? UserModifiedId { get; set; }
public virtual ApplicationUser UserModified { get; set; }
}
我们的问题是,如果用户ID在任何表中,则删除用户时会出现错误。属性UserModifiedId。
我们需要EF将UserModifiedId = UserId的所有表的UserModifiedId设置为NULL。
过去我们设置了这个添加到表上的DELETE SET NULL,但是EF不允许像这样设置表。
任何想法我们怎样才能做到这一点?
已更新
我们已经知道EF管理这是孩子被加载到上下文中,但是每次我们想要删除用户时我们都不能加载超过70个表。
答案 0 :(得分:1)
一种方法可能是添加一个迁移,修改所有应该try {
JSONObject jsonObject = new JSONObject(response);
String author = jsonObject.getString("author");
String quote = jsonObject.getString("quote");
} catch (JSONException e) {
e.printStackTrace();
}
的表格(仅适用于上面的示例代码):
CASCADE ON DELTE SET NULL