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; }
}

这个想法是我不想要一个必须链接到 Search 表的单独的 SearchParameters 表,因为搜索的每个属性始终是一对一的(SearchTerms 除外)。真的,我想要 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 回答