【发布时间】:2011-01-17 15:06:20
【问题描述】:
我有以下代码从columnName = Y' 的数据库返回结果。代码字很好,直到我想限制查询返回的字段。
我得到了错误
无法将类型“System.Linq.IQueryable[AnonymousType#1]”隐式转换为“System.Linq.IQueryable[MyApp.Models.Approved]”。存在显式转换(您是否缺少演员表?)
public IQueryable<Approved> ReturnRecordsByObjectiveFlag(string columnName)
{
var param = Expression.Parameter(typeof(Approved), "x");
var predicate = Expression.Lambda<Func<Approved, bool>>(
Expression.Equal(
Expression.PropertyOrField(param, columnName),
Expression.Constant('Y',typeof(char?))
), param);
return db.Approved.Where(predicate).Select(x =>new{x.RefNo, x.RefGroup, x.Location });
}
在这条线上我得到了错误
return db.Approved.Where(predicate).Select(x =>new{x.RefNo, x.RefGroup, x.Location });
我在哪里做演员?
非常感谢 Marc Gravell 以同样的方法提供Answering an earlier question
【问题讨论】: