.net => linq to entity => select 动态字段名怎么写

问下:linq to entity 里面 select 动态字段名怎么写?谢谢
string groupCol = lbChoosen.Items[0].Text;
var group1 = list.GroupBy(p => p.GetType().GetProperty(groupCol))
.Select(g => new { 想用groupCol动态字段名 = g.Key, Sum = g.Sum(s => s.Amount) })
.ToList();

    使用Expression来构造,学习周期比较长

    使用附件里面微软的开源类库Dynamic类,附件就是示例

    不懂可以留联系。


温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-15
  public List<EmployeeView> GetSortedEmployee(string sortField, bool isAsc)
        {
            List<EmployeeView> emp = GetEmployee();
            if (isAsc)
            {
                var res = from e in emp orderby GetPropertyValue(e, sortField) select e;
                emp = res.ToList();
            }
            else
            {
                var res = from e in emp orderby GetPropertyValue(e, sortField) descending select e;
                emp = res.ToList();
            }
            return emp;
        }
        private object GetPropertyValue(object obj, string property)
        {
            System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
            return propertyInfo.GetValue(obj, null);
        }
        
        不过这样只能把数据全读出来在筛选,就是在内存中对list操作

第2个回答  2016-04-06
我不知道。