这是我的UserLog模型:
public class UserLog
{
public int Id { get; set; }
public ApplicationUser Customer { get; set; }
public DateTime LogDate { get; set; }
}
我是为风险管理目的而创建的。问题是每当我想从AspNetUsers
表中删除用户时,我必须先从UserLog
删除与用户关联的行。但是,这样做会破坏风险管理系统的整体理念。
有没有办法删除放在UserLog表上的FKConstraint?我知道如果我删除ApplicationUser并将Customer
重命名为Customer_Id
代码,首先会删除该行和约束,然后重新创建它,为其提供新名称(即使该行当前名为Customer_Id)。有解决方法吗?
答案 0 :(得分:2)
alter table UserLog drop constraint FKconstraintName;
答案 1 :(得分:0)
正如here所解释的那样,删除不应具有外键约束并从数据库更新的实体是最简单的方法。
要回答你的问题,很难做到这一点,就是深入研究EDMX的XML并自己完成。
执行此操作的步骤,如链接中所述:
ReferentialConstraint
。假设您的关联名称类似于FK_Child_Parent,只需将ReferentialConstraint
转储到那里。注意,如果需要,您也可以在此处设置多重性;你会在终点上设置正确的多样性。您的选项是*,1或0..1。ScalarProperty
。ReferentialConstraint
,因此您需要添加AssociationSetMapping
。您可以将其附加到XML的EntityContainerMapping
部分的末尾。您可以在下面找到AssociationSetMapping
的摘要。 请务必替换AssociationSetMapping
中全部为大写的属性。