要获得不同的值,我需要一个IEnumerable .
var results = gridData.Select(r => r.ExplicitColumnName).Distinct();
要在运行时确定列名,我需要使用System.Linq.Dynamic所需的IQueryable .
var results = gridData.AsQueryable().Select(columnNameIsInThisVar);
我希望我的方法返回json所以想到字符串List然后将其加载到JsonResult中 . 但是我在列上获得不同的值和运行时灵活性时遇到了问题 .
所以我想我的问题是,在LINQ中,我该怎么做?
List<string> results = $"select distinct {columnName} from ridiculous_table_with_100_columns";
更新1
根据评论,我现在已经将动态Linq安装为nuget包,但我仍然无法转换为List .
filterValues = gridData.AsQueryable().Select(columnName).Distinct();
这让我得到了“无法隐式转换类型'System.Linq.IQueryable'到'System.Collections.Generic.List' . 存在显式转换(你错过了一个演员?)”
1 回答
你可以用反射做到这一点