我有这个方法:
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'。存在显式转换(是否缺少强制转换?)
有人知道如何使 Includes 列表动态化吗?
谢谢