我有以下代码从数据库返回结果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 });
}
Run Code Online (Sandbox Code Playgroud)
在这条线上我得到了错误
return db.Approved.Where(predicate).Select(x =>new{x.RefNo, x.RefGroup, x.Location });
Run Code Online (Sandbox Code Playgroud)
我做演员的行踪?
小智 6
这应该工作
return db.Approved.Where(predicate).Select(x =>new Approved{x.RefNo, x.RefGroup, x.Location });
Run Code Online (Sandbox Code Playgroud)
它给出了该错误,因为select语句正在创建一个匿名类型
| 归档时间: |
|
| 查看次数: |
13541 次 |
| 最近记录: |