Я использую EF Core 2.2 и имею следующую схему:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public Passport Passport { get; set; }
}
public class Passport
{
public int Id { get; set; }
public string Number { get; set; }
public DateTime IssueDate { get; set; }
public string Authority { get; set; }
public int PersonId { get; set; }
}
Когда я выполняю следующий запрос:
var persons = _context.Persons
.Include(p => p.Passport)
.Select(p => new
{
PersonId = p.Id,
FirstName = p.FirstName,
LastName = p.LastName,
PassportNumber = p.Passport.Number
}).ToList();
EF Core переводит его в SQL, который содержит все поля сущности Паспорт. Хотя это нормально для небольшой схемы, но это может быть пробел для сложных связанных сущностей. Возможно ли, чтобы EF Core отправлял запрос в базу данных, выбирая только поля, упомянутые в инструкции LINQ Select?
Заранее благодарю