c# – Fluent api Cascade删除与一个表的关系

c# – Fluent api Cascade删除与一个表的关系,第1张

概述我有以下配置.我有一个用户.用户有邮政地址和物理地址(见下文). public class UserProfile{ public Guid UserProfileId {get; set;} public Guid PostalAddressId {get;set;} public virtual Address PostalAddress {get;set;} 我有以下配置.我有一个用户.用户有邮政地址和物理地址(见下文).

public class UserProfile{    public GuID UserProfileID {get; set;}    public GuID PostalAddressID {get;set;}    public virtual Address PostalAddress {get;set;}    public GuID PhysicalAddressID {get;set;}    public virtual Address PhysicalAddress {get;set;}}public class Address{    public GuID AddressID {get;set;}    public string lineOne {get;set;}    public string lineTwo {get;set;}    public string lineThree {get;set;}}

接下来是我流畅的映射

public UserProfileMapPing(){    Totable("UserProfile");    HasKey(pk => pk.UserProfileID);    Property(pr => pr.UserProfileID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);    Hasrequired(a => a.PostalAddress).WithMany().HasForeignKey(fk => fk.PostalAddressID);    Hasrequired(a => a.PhysicalAddress).WithMany().HasForeignKey(fk => fk.PhysicalAddressID);}public AddressMapPing(){    Totable("Address");    HasKey(pk => pk.AddressID);    Property(pr => pr.AddressID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);}

当我尝试运行update-database时,我得到:

Introducing FOREIGN KEY constraint
‘FK_dbo.UserProfile_dbo.Address_PhysicalAddressID’ on table
‘UserProfile’ may cause cycles or multiple cascade paths. Specify ON
DELETE NO ACTION or ON UPDATE NO ACTION,or modify other FOREIGN KEY
constraints.

我需要在Address对象上没有任何反向映射.
我还需要能够硬删除UserProfile对象,包括其子地址(其中只有两个地址表).

我的问题是,我想要的是什么?如果是这样,我做错了什么?

[编辑]
Address对象也用于UserCompany和Customer等对象.

解决方法 因为地址不是UserProfile的子节点,而只是关联,所以您不想使用级联删除:

Hasrequired(a => a.PostalAdress)    .WithMany()    .HasForeignKey(fk => fk.PostalAddressID)    .WillCascadeDelete(false);
总结

以上是内存溢出为你收集整理的c# – Fluent api Cascade删除与一个表的关系全部内容,希望文章能够帮你解决c# – Fluent api Cascade删除与一个表的关系所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1227122.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存