2013-08-19 110 views
0

我有8個對象引用名爲ExpenseType的通用實體。在8個對象之間有36個對ExpenseType的引用。我想配置級聯刪除,以便在刪除引用對象時,ExpenseType記錄也一樣。我正在使用Code First Entity Framework 5,並且已經爲我的模式中的其他對象完成了這項工作,但是這一般性質讓我難住了。配置級聯刪除

任何和所有的幫助,非常感謝。

感謝 約翰

public class HouseholdExpenses 
    { 
     [Key] 
     public virtual int HouseholdExpensesId { get; set; } 

     [Display(Name = "Childcare")] 
     public virtual ExpenseType Childcare { get; set; } 

     [Display(Name = "Elderly Care (Carer Nursing Home etc)")] 
     public virtual ExpenseType ElderlyCare { get; set; } 

     [Display(Name = "Food/Housekeeping/Personal Care")] 
     public virtual ExpenseType FoodHousekeeping { get; set; } 

     [Display(Name = "Clothing and Footwear")] 
     public virtual ExpenseType ClothingFootwear { get; set; } 

     [Display(Name = "House Repairs and Maintenance")] 
     public virtual ExpenseType RepairsAndMaintenance { get; set; } 
} 

    public class MedicalExpenses 
    { 
     [Key] 
     public virtual int MedicalExpensesId { get; set; } 

     [Display(Name = "Medical Expenses and Prescription Charges")] 
     public virtual ExpenseType MedicalExpensesAndPrescriptions { get; set; } 

     [Display(Name = "Health Insurance (unless deducted from your salary at source)")] 
     public virtual ExpenseType HealthInsurance { get; set; } 
} 

public class ExpenseType 
{ 
    [Key] 
    public virtual int ExpenseTypeId { get; set; } 

    [Display(Name = "Amount")] 
    public virtual decimal? Amount { get; set; } 

    [Display(Name = "Arrears")] 
    public virtual decimal? Arrears { get; set; } 
} 

回答

0

覆蓋OnModelCreating和嘗試。除非我忘記了一些我認爲應該起作用的東西。

mBuilder.Entity<ExpenseType>() 
      .HasRequired(he => he.Childcare) 
      .WithMany(); 

mBuilder.Entity<ExpenseType>() 
      .HasRequired(ec => ec.ElderlyCare) 
      .WithMany(); 
...