linq 动态查询字段的问题。
代码目的是将 select 中的字段参数化。
private IEnumerable<dynamic> QueryUser(Func<UserDB, dynamic> selector)
{
using (var user = new UserContext())
{
var query = from u in user.UserDBs select selector(u);
return query.ToList();
}
}
private dynamic SelectUserField(UserDB u)
{
return new { u.UserName, u.UserDBID };
}
// 调用
IEnumerable<dynamic> queryUsers = QueryUser(u => SelectUserField(u));
运行结果被抛出异常
"The LINQ expression node type 'Invoke' is not supported in LINQ to Entities."
请教高手这是为什么,谢谢。