Мне кажется, что то, что у вас есть, довольно близко к тому, что вы хотите, хотя я бы изменил ваше
public virtual ICollection<PerformanceGraphSeries> PerformanceGraphSeries { get; set; }
строка вместо
public virtual IEnumerable<PerformanceGraphSeries> PerformanceGraphSeries
{
get
{
return PerformanceGraphItems.Select(pgi => pgi.PerformanceGraphSeries);
}
}
или
public virtual IEnumerable<PerformanceGraphSeries> PerformanceGraphSeries
{
get
{
return PerformanceGraphItems.Select(pgi => pgi.PerformanceGraphSeries)
.Distinct();
}
}
в зависимости от вашего сценария.
Это потому, что вы на самом деле не моделируете базу данных, которая имеет прямое соединение между Item
и PerformanceGraphSeries
- поэтому вы не хотите, чтобы ваша база данных создавалась таким образом. Но это все же позволяет вам обращаться к нему в одном свойстве (вместо того, чтобы выполнять этот запрос везде).
Кроме того, поскольку вы используете virtual
в большинстве мест, я предполагаю, что вы пытаетесь использовать прокси-объекты - убедитесь, что вы устанавливаете все ваших свойств как виртуальные, в противном случае этого не произойдет.