У меня есть такой метод:
public CampaignCreative GetCampaignCreativeById(int id)
{
using (var db = GetContext())
{
return db.CampaignCreatives
.Include("Placement")
.Include("CreativeType")
.Include("Campaign")
.Include("Campaign.Handshake")
.Include("Campaign.Handshake.Agency")
.Include("Campaign.Product")
.AsNoTracking()
.Where(x => x.Id.Equals(id)).FirstOrDefault();
}
}
Я хотел бы сделать список включений динамическим. Я пробовал:
public CampaignCreative GetCampaignCreativeById(int id, string[] includes)
{
using (var db = GetContext())
{
var query = db.CampaignCreatives;
foreach (string include in includes)
{
query = query.Include(include);
}
return query.AsNoTracking()
.Where(x => x.Id.Equals(id)).FirstOrDefault();
}
}
Но это не скомпилировалось. Я получил эту ошибку:
Невозможно неявно преобразовать тип «System.Data.Entity.Infrastructure.DbQuery» в «System.Data.Entity.DbSet». Существует явное преобразование (вам не хватает приведения?)
Кто-нибудь знает, как сделать список включений динамическим?
Спасибо