首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么在只知道列名的情况下用linq实现分组

2012-01-07 
如何在只知道列名的情况下用linq实现分组linq按照某列排序,有如下思路思路一:string columnName Appear

如何在只知道列名的情况下用linq实现分组
linq按照某列排序,有如下思路
思路一:
string columnName = "AppearanceDirector";
var queryGroup = query.GroupBy(q => q.GetType().GetProperty(columnName).GetValue(q, null));
思路二:
var queryGroup = query.GroupBy(q => q.AppearanceDirector);

现在方法一报错(方法“System.Reflection.PropertyInfo GetProperty(System.String)”不支持转换为 SQL。),求问如何在只知道列名的情况下用linq实现分组?

[解决办法]

C# code
var queryGroup = query.ToList().GroupBy(q => q.GetType().GetProperty(columnName).GetValue(q, null));
[解决办法]
private static object GetPropertyValue(object obj, string property)
{
System.Reflection.PropertyInfo propertyInfo=obj.GetType().GetProperty(property);
return propertyInfo.GetValue(obj, null);
}


string columnName = "AppearanceDirector";
var queryGroup = query.GroupBy(q =>GetPropertyValue(q,columnName));

http://blog.csdn.net/q107770540/archive/2011/01/13/6133484.aspx

热点排行