У меня есть следующие модели
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
public List<PersonRole> PersonRoles { get; set; }
}
public class RoleInDuty
{
public int roleInDutyId { get; set; }
public string Name { get; set; }
public int typeOfDutyId { get; set; }
public TypeOfDuty typeOfDuty { get; set; }
public List<PersonRole> PersonRoles { get; set; }
}
public class PersonRole
{
public int PersonId { get; set; }
public Person Person { get; set; }
public int RoleInDutyId { get; set; }
public RoleInDuty RoleInDuty { get; set; }
}
Я загружаю всех людей с их ролями в соответствии с введенным typeOfDutyId:
var temp = _context.Persons.Select(s => new
{
Person = s,
PersonRoles= s.PersonRoles
.Where(p => p.RoleInDuty.typeOfDutyId == this.typeOfDuty.typeOfDutyId)
.ToList()
}).ToList();
Но мне тоже нужна загрузка RoleInDuty.Я пытаюсь следующий код:
var temp = _context.Persons.
.Include(p=>p.PersonRoles)
.ThenInclude(b=>b.RoleInDuty)
.Select(s => new
{
Person = s,
PersonRoles= s.PersonRoles
.Where(p => p.RoleInDuty.typeOfDutyId == this.typeOfDuty.typeOfDutyId)
.ToList()
}).ToList();
Но это не работает, VS выбросить ошибку
InvalidOperationException: переменная 'ct' типа 'System.Threading.CancellationToken' ссылкаиз области видимости '', но она не определена