I have an entity that looks like this (partially removed for brevity, it includes many other properties):
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>();
}
The TenderCircles property is used to provide a many-to-many relationship with another entity called Circle. TenderCircle entity looks like this:
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; }
}
Now, I'm doing the following query (partially removed for brevity, normally it includes many other Include and ThenInclude statements):
return _context.Tenders
.Include(t => t.Creator)
.Include(t => t.TenderCircles.Select(tc => new { CirlceId = tc.CircleId, TenderId = tc.TenderId }))
.ToList();
But, it simply doesn't work. What I want to achieve is that I only want to get the TenderId and CircleId properties from TenderCircle and ignore the actual Tender and Circle objects. Any idea how to achieve this in EF Core?