0

「検索」というクラスがあります。以下の定義を参照してください。

public class Search
{
    [Key]
    public int SearchID { get; set; }
    public int UserID { get; set; }

    public SearchParameters SearchParameters { get; set; }

    public ICollection<SearchProvider> SearchProviders { get; set; }
    public User User;
}

SearchParameters は、値の型といくつかのサブクラスを持つクラスです。以下のように定義されています。

public class SearchParameters
{
    public List<string> SearchTerms { get; set; }
    public int MaxRecords { get; set; }
    public DistanceParameter Distance { get; set; }
    public PriceRangeParameter PriceRange { get; set; }
}

検索のすべてのプロパティは常に 1 対 1 (SearchTerm を除く) であるため、Search テーブルにリンクする必要がある別の SearchParameters テーブルは必要ないという考えです。実際、私が EF に求めているのは、子クラスのプロパティを「起動」して、SearchTable 内の SearchParameter のすべてのプロパティ (および DistanceParameter オブジェクトと PriceRangeParameter オブジェクト自体のすべてのパラメーター) を作成することです。これが機能するには、どのような注釈やその他のロジックが必要ですか? ありがとう!

4

1 に答える 1

1

EF 複合型マッピングが必要だと思います。詳細はこちらを参照してください。

http://weblogs.asp.net/manavi/archive/2011/03/28/associations-in-ef-4-1-code-first-part-2-complex-types.aspx

于 2013-04-28T23:46:57.413 に答える