2011-07-20 5 views
0

私はこのような階層に配置されますクラスを、持っている:EF4コードの最初の:同じテーブル内の親子関係、どのように逆プロパティを取得する?

class Item 
{ 
    [Key] 
    public int ID {get;set;} 
    public string PropA {get;set;} 
    public string PropB {get;set;} 

    public Virtual ICollection<Item> Children {get;set;} 
} 

これは素晴らしい作品、およびEFは親を識別するためのITEM_IDキーを作成します。私はこのデータをMVCアプリケーション経由でエクスポートしていますが、このキーにアクセスする必要があります。

アイテムから親IDにアクセスするにはどうすればよいですか?

[InverseProperty]タグを試しましたが、別のキーを作成したかったようです - 既に自分のデータベースにある既存のItem_IDフィールドを使用し、子ナビゲーションプロパティで正しく動作させるにはどうすればよいですか?

ありがとうございます!

さて、私は自分のデータベース列frmo Item_IDの名前をParent_IDに手作業で変更しなければならなかった。したがって、この:)と同じ時期に問題があったものを実現するために管理し、

[InverseProperty("Parent")] 
public virtual ICollection<Item> Children { get; set; } 

[InverseProperty("Contents")] 
public virtual Item Parent { get; set; } 

答えて

2

は、私はあなたが

public virtual Item Parent {get;set;} 
+0

[OK]を追加する必要がありますと思う:私は、次があります。あなたが言ったように私はパブリックVirtual Item Parentを持っていましたが、私のキーはItem_IDと呼ばれていたのでマップされませんでした。私はDBに行って、Item_IDをParent_IDに変更しました。すべてが同期されました – Yablargo

+0

Parent_ID以外のキーを使用するParentプロパティに注釈を付ける方法はありますか? – Yablargo

+0

http://blogs.msdn.com/b/efdesign/archive/2010/03/30/data-annotations-in-the-entity-framework-and-code-first.aspxをご覧ください。RelatedTo注釈はあなたが試しているように見えるものに役立つかもしれません – Manatherin

関連する問題