0
我使用Code First方法创建数据库。我正在尝试使用TPH(每层次表)继承。我的POCO类:如何在代码中实现多级继承优先
public abstract class Address
{
public int AddressId { get; set; }
...
}
public abstract class PersonalDetail : Address
{
public int PersonalDetailId { get; set; }
...
}
public partial class AccountHolder : PersonalDetail
{
public int AccountHolderId { get; set; }
}
public partial class Nominee : PersonalDetail
{
public int NomineeId { get; set; }
}
我已经创建了2抽象类地址和PersonalDetail和2派生类账户持有和提名。 PersonalDetail继承地址和进一步账户持有和提名继承PersonalDetail。我一口流利的API代码是:
modelBuilder.Entity<Address>().Map<PersonalDetail>(m => m.Requires("AddressOf"));
modelBuilder.Entity<PersonalDetail>().Map<AccountHolder>(m => m.Requires("PersonalDetailOf"));
modelBuilder.Entity<PersonalDetail>().Map<Nominee>(m => m.Requires("PersonalDetailOf"));
现在,当我试图插入它抛出一个异常数据,即:
表上引进国外KEY约束'FK_dbo.Addresses_dbo.Addresses_AccountHolder_AddressId“地址”可以导致周期或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。
任何人都可以请告诉我最新的问题,我该如何解决这个问题?
我用'modelBuilder.Conventions.Remove();'但仍是同样的错误,可以请你详细说明你的解决方案,我是Code First世界的全新,谢谢! –
gaurav
2013-03-05 03:38:27