我可以让我的 EF 对象只检索执行的 sql 中的特定列吗?
如果我有一列包含大量确实会减慢查询速度的数据,我怎样才能让我的对象从生成的 sql 中排除该列?
如果我的表有 Id(int)、Name(int)、Data(blob),我怎样才能让我的查询成为
select Id, Name from TableName
代替
select Id, Name, Data from TableName
根据下面的建议,我的方法是
public List<T> GetBy<T>(DbContext context,Expression<Func<T, bool>> exp, Expression<Func<T,T>> columns) where T : class
{
return dbContext.Set<T>().Where(exp).Select<T,T>(columns).ToList();
}
我这样称呼它
List<CampaignWorkType> list = GetBy<CampaignWorkType>(dbContext, c => c.Active == true, n => new { n.Id, n.Name });
我收到如下错误。
无法将类型“AnonymousType#1”隐式转换为“Domain.Campaign.CampaignWorkType”
我怎么能解决这个问题?