2013-08-19 196 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(); 
...