ef 动态SELECT某些字段

caiyi000 2013-10-24 03:06:33
比如我有一个EF语句
db.orders.selec(s=>new { c.OrderInfoId, c.OrderSn}).ToList();

s=>new { c.OrderInfoId, c.OrderSn} 这部分是写死的。我先

public static List<orders> getorders(传入要获取的字段参数)
{
return db.orders.selec(传入要获取的字段参数).ToList();
}

怎么做呢?
...全文
657 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-10-24
  • 打赏
  • 举报
回复
直接传selector函数就是了。 比如 public static List<T> getorders<T>(Expression<Func<orders, T>> selector) { return db.orders.Select(selector).ToList(); } 使用 var result = getorders(x => new { c.OrderInfoId, c.OrderSn });
Andy__Huang 2013-10-24
  • 打赏
  • 举报
回复
--不要用过程了,因为返回不再是同一个对象
var list=null;
if (字段参数=='aaa')
{
	 list=db.orders.selec(t=>{return new {t.orderNo,t.orderdate};}).ToList();
}
else if if (字段参数=='bbb')
{
	list= db.orders.selec(t=>{return new {t.clientID,t.clientName,t.amt};}).ToList();
}
moonwrite 2013-10-24
  • 打赏
  • 举报
回复
引用 4 楼 caiyi000 的回复:
没有人有这样的需求吗??
我不会太在乎那几个字段~~~~通常返回的都是实体 IQueryAble<orders> GetOrder(..... var orders = GetOrder(...).Select(x=>.....) 只要返回的是IQueryAble 那么只有在.....词贫了,不知道怎么表达~
caiyi000 2013-10-24
  • 打赏
  • 举报
回复
没有人有这样的需求吗??
caiyi000 2013-10-24
  • 打赏
  • 举报
回复
自己顶一下。。。
caiyi000 2013-10-24
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
dynamic linq: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
看了一下,和我问的问题不一样,他的是LINQ的。我的是EF FUNC模式的。

8,497

社区成员

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

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