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