4

Entity Framework 5を使用して辞書をマップする方法はありますか?

私が検索中に見つけたものから、それはEF 4.1までサポートされていませんでした、EF5がそれを簡単にマッピングするための革新的な方法を提供するかどうかはわかりません。

辞書を使用して、クラスの各オブジェクトの「可変数のプロパティ」を格納しています。

サポートされていない場合、このシナリオで使用するのに最適な代替データ構造は何でしょうか(EFでサポートされています)。

4

1 に答える 1

6

辞書はまだサポートされていません。従来の1対多の関係を使用する必要があります。ディクショナリ内の現在のキーと値の各ペアがテーブルのレコードとして保存され、プリンシパルエンティティ(ディクショナリを含むエンティティ)への外部キーに関連付けられます。エンティティは次のようになります。

public class Item {
    public int Id { get; set; } // unique autogenerated database key
    public string Key { get; set; }
    public string Value { get; set; }
    public int PrincipalId { get; set; } // FK to principal entity
}

プロパティのタイプと外部キーの名前は、現在の状況によって異なります。プリンシパルエンティティは次のようになります。

public virtual ICollection<Item> Items { get; set; }
于 2012-09-28T19:48:54.117 に答える