我已经挣扎了一天了,我不知道如何做到这一点:
我有一个IEQuery(分步生成的查询),我把它作为一个参数(就在where子句后面)。
基于列名列表我正在尝试创建一个动态选择子句。
public static IQueryable<T> AddSelectClause<T>(SearchDto criteria, IQueryable<T> queryable, ControllerStateManager stateManager)
{
if (criteria.SelectColumns != null)
{
var formattedColumns = string.Join(", ", criteria.SelectColumns);
queryable.SelectMany(c => $"new({formattedColumns})");
}
return queryable;
}
字符串
显然这是行不通的,没有异常只是返回所有列。
我试过这个:
queryable.Select(c => new { c.Id, c.Name });
型
Intellisense不喜欢这样的说法:T不包含ID的定义(名称也是如此)。
这就是我对Linq的知识深度,任何建议都将不胜感激
1条答案
按热度按时间isr3a4wc1#
您应该能够用途:
字符串