我有这样的方法:动态包含在查询预先加载报表 - 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();
}
}
我想就包括动态列表。我试过了:
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'。存在明确的转换(您是否缺少演员?)
有谁知道如何制作包含动态列表?
感谢
我做了一个插件,做到这一点,这里是链接https://www.codeproject.com/Tips/1205294/Entity-Framework-Dynamic-Include-Hier archy – 2017-09-11 16:48:14