我正在使用动态 linq 并动态选择列。我需要对此做一个独特的。我怎么能这样做?
var qry = tbl.AsEnumerable().AsQueryable()
.Select("new(it[\"" + this.UniqueName + "\"]
.ToString() as " + this.UniqueName + ")");
谢谢。
最佳答案
而不是使用
as " + this.UniqueName + "
做
作为 someFixedColumnName
并使用普通的 Linq 在其上运行你的 Distinct()
子句。
或者,您可以尝试 this extension method:
public static IQueryable DynamicDistinct(this IQueryable source)
{
if (source == null) throw new ArgumentNullException("source");
return source.Provider.CreateQuery(
Expression.Call(
typeof(Queryable), "Distinct",
new Type[] { source.ElementType },
source.Expression));
}
关于linq - 如何对动态选择的列执行不同操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655368/