В отношении многих ко многим я хотел бы только получить определенные столбцы из таблицы Referencia, такие как Id и Name, для заполнения списка выбора.Проблема в том, что я не делал этого до использования Linq, и я не понимаю, каков наилучший способ сделать этот процесс.
Вот мои модели.
public class Celula
{
public int Id { get; set; }
public string Nome { get; set; }
public string UAP { get; set; }
public ICollection<MatrizCelulaReferencia> Matrizes { get; set; }
}
public class Referencia
{
public int Id { get; set; }
public string Nome { get; set; }
public bool IsActivo { get; set; }
public ICollection<MatrizCelulaReferencia> Matrizes { get; set; }
}
public class MatrizCelulaReferencia
{
public int Id { get; set; }
public int CelulaId { get; set; }
public Celula Celula { get; set; }
public int ReferenciaId { get; set; }
public Referencia Referencia { get; set; }
public int ObjectivoHora { get; set; }
public int UAPId { get; set; }
public UAP UAP { get; set; }
public string Tipo { get; set; }
}
Вот мой текущий запрос
var query = await _context.Referencias
.Include(r => r.Matrizes)
.ThenInclude(r => r.Celula)
.Where(r => r.Matrizes.Any(c => c.CelulaId == Operador.Celula))
.Select(x => new Referencia
{
Id = // Referencia Id
Nome = // Referencia Name
})
.ToListAsync();
Сейчас это своего рода беспорядок, потому что я не представляю, как выбрать в этом запросе определенные столбцы из таблицы Referencia.Мне нужен только идентификатор и имя