我有以下配置.我有一个用户.用户有邮政地址和物理地址(见下文).
@H_404_5@
@H_404_5@
我还需要能够硬删除UserProfile对象,包括其子地址(其中只有两个地址表). @H_404_5@我的问题是,我想要的是什么?如果是这样,我做错了什么? @H_404_5@[编辑]
Address对象也用于UserCompany和Customer等对象.
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;} }@H_404_5@接下来是我流畅的映射 @H_404_5@
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); }@H_404_5@当我尝试运行update-database时,我得到: @H_404_5@
@H_404_5@Introducing FOREIGN KEY constraint@H_404_5@我需要在Address对象上没有任何反向映射.
‘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.
我还需要能够硬删除UserProfile对象,包括其子地址(其中只有两个地址表). @H_404_5@我的问题是,我想要的是什么?如果是这样,我做错了什么? @H_404_5@[编辑]
Address对象也用于UserCompany和Customer等对象.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。