0

ExpenseType と呼ばれる汎用エンティティを参照する 8 つのオブジェクトがあります。8 つのオブジェクト間で ExpenseType への 36 の参照があります。カスケード削除を構成して、参照オブジェクトが削除されたときに 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; }
}
4

1 に答える 1

0

これをオーバーライドOnModelCreatingして試してください。何かを忘れていない限り、うまくいくはずです。

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

mBuilder.Entity<ExpenseType>()
            .HasRequired(ec => ec.ElderlyCare)
            .WithMany();
...
于 2013-08-19T15:44:49.867 に答える