EF 5.0 Code First映射3个实体之间的问题

时间:2013-01-08 17:04:00

标签: ef-code-first entity-relationship entity-framework-5

我有两个实体:

public class School
{
    public int Id { get; set; }
    ...
    public virtual ICollection<Seminar> Seminars { get; set; }
}

public class Seminar
{
    public int Id { get; set; }
    ...
    public virtual ICollection<School> Schools { get; set; }

    public virtual ICollection<Price> Prices { get; set; } // wrong??
}

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

    public decimal Value { get; set; }

    public virtual School School { get; set; }

    public virtual Seminar Seminar { get; set; }
}

如何映射“价格”属性以获取此类内容:

var priceOfSomeSeminar = someSchool.Seminars[0].Price

有可能吗?所以我认为我需要有关Fluent API模型构建器关系建立的帮助......

1 个答案:

答案 0 :(得分:1)

好吧,ICollection没有索引器,所以你不能使用它的数组语法。但是,您可以将其转换为IEnumerable,然后将其转换为List,然后可以将其编入索引。

但不,你使用正确的语义,所以这应该工作。无需使用流利的api。

我认为你有错误,Price不应该有学校成员。价格与学校之间没有直接关系。