2013-02-22 85 views
5

birden birbirini dışlayan ebeveyn varlıklarla Varlık Çerçeve 5 kod ilk çocuk varlıktaki belirlenmesi ilişkiyi harita ve ben şu modeli var nasılBen Varlık Çerçeve 5 Kod İlk kullanıyorum

class Document 
{ 
    public int Id {get;set;} 
    public String Name {get;set;} 

    public IList<Page> Pages {get;set;} 
} 

class DocumentTemplate 
{ 
    public int Id {get;set;} 
    public String Description {get;set;} 
    public String Name {get;set;} 

    public IList<Page> Pages {get;set;} 
} 

class Page 
{ 
    public int Id {get;set;} 
    public string Text {get;set;} 
} 

yüzden biliyorum haritaya Çocuk varlığının 1 ebeveyne sahip olduğu belirleyici bir ilişki. Ancak, Sayfa varlığını, her bir ebeveyn için tanımlayıcı bir ilişki kuracak şekilde eşlemek istiyorum. Ayrıca, ana ilişkiler karşılıklı olarak münhasırdır. Belirli bir sayfa ya bir DocumentTemplate'e veya bir Belgeye aittir, her ikisi de değil.

Entity Framework 5'de böyle bir haritalama mümkün mü?

Bir Sayfa için ayrı varlıklar yapmak istemiyorum, çünkü ana ilişki dışında esas olarak aynı olacaklar.

TIA.

cevap

0

Ben Birden ebeveyni sanmıyorum, Ama şu seçeneği dikkate alacağını:

class Document 
{ 
    public int Id {get;set;} 
    public String Name {get;set;} 
    public DocumentTemplate DocumentTemplate{get;set;} 
} 

class DocumentTemplate 
{ 
    public int Id {get;set;} 
    public String Description {get;set;} 
    public String Name {get;set;} 

    public IList<Page> Pages {get;set;} 
} 

class Page 
{ 
    public int Id {get;set;} 
    public string Text {get;set;} 
} 
0

bu işe yarar (sadece şablonları sayfalara sahip herhangi bir belge, bazı-şablona ait)
Sizin için:

class Page 
{ 
    public int Id {get;set;} 
    public string Text {get;set;} 

    public int? DocumentId { get; set; } // non-mandatory relationship to Document 
    public int? DocumentTemplateId { get; set; } // non-mandatory relationship to DocumentTemplate 

    // ... navigation properties 
} 
İlgili konular