У меня есть объект, который выглядит следующим образом (для краткости он частично удален, он включает в себя множество других свойств):
public class Tender
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string CreatorId { get; set; }
[ForeignKey("CreatorId")]
public virtual AppUser Creator { get; set; }
public ICollection<TenderCircle> TenderCircles { get; set; } = new List<TenderCircle>();
}
Свойство TenderCircles
используется для обеспечения связи «многие ко многим» сдругая сущность называется Circle
.TenderCircle
сущность выглядит следующим образом:
public class TenderCircle
{
public int TenderId { get; set; }
[ForeignKey("TenderId")]
public Tender Tender { get; set; }
public int CircleId { get; set; }
[ForeignKey("CircleId")]
public Circle Circle { get; set; }
}
Теперь я делаю следующий запрос (частично для краткости удален, обычно он включает в себя множество других операторов Include
и ThenInclude
):
return _context.Tenders
.Include(t => t.Creator)
.Include(t => t.TenderCircles.Select(tc => new { CirlceId = tc.CircleId, TenderId = tc.TenderId }))
.ToList();
Но это просто не работает.Чего я хочу добиться, так это того, что я хочу получить только свойства TenderId
и CircleId
из TenderCircle
и игнорировать фактические объекты Tender
и Circle
.Есть идеи как этого добиться в EF Core ?