linq 动态查询字段的问题。

shopmans 2015-06-21 03:27:44
代码目的是将 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."

请教高手这是为什么,谢谢。
...全文
511 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2015-06-24
  • 打赏
  • 举报
回复
var query = from u in user.UserDBs.AsEnumerable() select selector(u);
exception92 2015-06-23
  • 打赏
  • 举报
回复
表达式节点类型 不支持 linq to entities -》 你这是 linq to sql 的写法。。

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧