我想擴展我的IQueryable以獲取字段名列表並僅將這些列返回到動態集合中。基本上我想用傳入的字段/列名實現「選擇」。該方法會是這個樣子:動態構建帶.NET字段名的IQueryable Select子句核心
private IQueryable<TEnity> SetSelect(IQueryable<TEntity> query, List<string> fieldnames)
{
//Build up the Expression here
query = query.Select(expressionHere);
return query;
}
所以,如果我是反對的對象像查詢:
public Class Dog
{
int Id{get;set;}
string Name{get;set;}
string Color{get;set;}
DateTime Birthdate{get;set;}
}
但我只想要得到的名稱和生日,我可以通過調用SetSelect(query, new List<string>{"Name", "Birthdate"});
延長的IQueryable
而且將返回:
[{"Fido", 01-01-2017}, {"Spot", 05-04-1972}]
有任何人做了類似的事情,並可以幫助我建立表達?
感謝您的任何澄清。
注意:這是一個.NET的核心應用
這看起來已經回答[這裏](http://stackoverflow.com/questions/606104/how-to-create-linq -expression-tree-to-select-an-anonymous-type) – danatcofo
我忘了添加一個關鍵點。這是一個.Net核心應用程序。上面引用的答案使用了一些我不知道的類。 – KickinMhl
上一個答案[快捷方式](http://stackoverflow.com/a/28140345/740108)對於同一個問題可能是一個更容易的工作解決方案路徑。 – danatcofo