2016-03-22 9 views
0

私は、EntityAがEntityBの任意のインスタンスを指す "PropertyB"という名前のプロパティを持ち、EntityBがEntityAインスタンスを指すPropertyAというプロパティを持っているという状況があります必ずしも同じentityAのインスタンスで始まったわけではありません。エンティティフレームワーク - コード最初の関係マッピング

最初にこのコードをどのように扱うか考えてみましょうか?

私が見ている正確なシナリオは、OrganisationMembersとOrgainsationsです。 OrganisationMembersはもちろん組織のメンバーであり、組織を指しているOrganisationMemberにプロパティを持つことによってモデル化します。

同時に、OrganisationMemberのプロパティとしてモデル化された連絡先(またはPOC)として組織が指定されています。

私はこのための移行を作成しようとすると、EFがどちらがプリンシパルであり、どれが依存であるかを判断できないと言われます。

アイデアは誰ですか?

+0

あなたは 'OrganisationMembers'のコードを含むことができ、 'Organisation'クラス? – Deif

+1

これはあなたが探しているものだと思うhttp://stackoverflow.com/questions/18331231/bi-directional-relationships-in-entity-framework-code-first – paste

+0

デフ貼り付きの質問は私の答え、私は必要ない。見ていただきありがとうございます。ペースト - 仲間を歓迎します... –

答えて

1

あなたEntityAEntityB関係は次のように達成することができます。

public class EntityA 
{ 
    public int Id { get; set; } 

    public virtual EntityB EntityB { get; set; } 
} 

public class EntityB 
{ 
    public int Id { get; set; } 

    public virtual EntityA EntityA { get; set; } 
} 

そして、あなたが関係について、Entity Frameworkのを伝える必要があります:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<EntityA>() 
     .HasOptional(x => x.EntityB) 
     .WithOptionalDependent(); 

    modelBuilder.Entity<EntityB>() 
     .HasOptional(x => x.EntityA) 
     .WithOptionalDependent(); 
} 
+0

ありがとう - 非常に面白いです。 –

関連する問題