У меня есть этот класс Keuring
, и у меня есть проблема с включением элемента навигации в свойство коллекции Testresultaten
с использованием linq.
public partial class Keuring
{
public Keuring()
{
Testresultaten = new HashSet<Testresultaten>();
}
//Simple properties here
//Complex properties below
public virtual ICollection<Testresultaten> Testresultaten { get; set; }
public virtual Gereedschap Gereedschap { get; set; }
}
Вот класс Testresultaten
:
public partial class Testresultaten
{
//Simple properties here
//Complex properties below
public virtual Test Test { get; set; }
public virtual Keuring Keuring { get; set; }
}
Вот класс Gereedschap
:
public partial class Gereedschap
{
public Gereedschap()
{
Keuring = new HashSet<Keuring>();
}
//Simple properties here
//Complex properties below
public virtual ICollection<Keuring> Keuring { get; set; }
public virtual Debiteur Debiteur { get; set; }
}
Это утверждение работает нормально:
var keuringEntry = db.Keuring.Include(item => item.Gereedschap).Include(item => item.Testresultaten).SingleOrDefault(item => item.key = "keyvalue");
Но когда я добавляю дополнительные Include
вот так:Include(item => item.Testresultaten.Select(subItem => subItem.Test))
оператор выдает ошибку:
var keuringEntry = db.Keuring.Include(item => item.Gereedschap).Include(item => item.Testresultaten.Select(subItem => subItem.Test)).SingleOrDefault(item => item.key = "keyvalue");
Ошибка: выражение свойства «x => {from Testresultaten subItem in [x].Testresultaten select [subItem].Test}» недопустимо. Выражение должно представлять доступ к свойству: 't => t.MyProperty'.
Переменная Test
в классе Testresultaten
является свойством, а не полем. Что я делаю не так? И он доступен так же, как Gereedschap
в Keuring
ThenInclude
. - person Ivan Stoev   schedule 07.11.2016