ho questo metodo:dinamica Includere dichiarazioni a eager loading in una query - EF 4.3.1
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();
}
}
vorrei fare l'elenco delle Include dinamica. Ho provato:
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();
}
}
Ma non è stato compilato. Ho ricevuto questo errore:
Impossibile convertire implicitamente il tipo 'System.Data.Entity.Infrastructure.DbQuery' in 'System.Data.Entity.DbSet'. Esiste una conversione esplicita (ti manca un cast?)
Qualcuno sa come rendere dinamico l'elenco di include?
Grazie
Ho fatto un plugin che fa proprio questo qui è il link https://www.codeproject.com/Tips/1205294/Entity-Framework-Dynamic-Include-Hier archy –