ThenInclude не позволяет получить вложенность 3 и дальше уровня
Примерно следующая структура классов:
public class User
{
public string Id;
public List<Order> Orders;
}
public class Order
{
public Address Sender;
public Address Recipient;
}
public class Address
{
public Country Country;
}
public class Country
{
public string Alpha2;
}
И есть некий метод, в котором необходимо получить данные из БД:
public async Task SomeMethod(string userId)
{
User user = ApplicationDbContext.Users
.Include(u => u.Orders)
.ThenInclude(u => u.Sender) // Тут всё работает шикарно
.ThenInclude(u => u.Country) // А вот тут всё ломается
// Если быть чуть конкретнее, то IntelleSence предлагает
// поля того же уровня вложенности как у Sender (в примере - Recipient)
// А ошибка говорит, что User не содержит определения Country
.FirstOrDefault(u => u.Id == userId);
// Дальнейшая работа
}
Если я правильно понял материал Загрузка связанных данных от MicroSoft, то мой код должен работать. Прошу указать на мою ошибку
UPD: Нашёл ошибку в собственном коде. Пример, написанный выше, абсолютно верный, и правильно компилируется.