日期:2014-05-20  浏览次数:21165 次

ef 动态SELECT某些字段
比如我有一个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();
}

怎么做呢?

------解决方案--------------------
引用:
没有人有这样的需求吗??


我不会太在乎那几个字段~~~~通常返回的都是实体

IQueryAble<orders> GetOrder(.....

var orders = GetOrder(...).Select(x=>.....)
只要返回的是IQueryAble 那么只有在.....词贫了,不知道怎么表达~
------解决方案--------------------
直接传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 });