LINQ to Entities - 动态选择指定列

Pav*_*cka 5 select linq-to-entities entity-framework dynamic

我可以创建一个select查询,只检索LINQ to实体的特定列(代码中是静态的)

from Example in new Enities.Table 
select new { Example.Column1. Example.Column2, ... }
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何选择Column1,Column2动态(例如来自string []).谢谢

Lad*_*nka 6

标准LINQ不支持 - 您必须手动下载名为Dynamic LINQ的库或构建表达式树.动态LINQ将允许您调用以下查询:

var query = Entities.Table.Select("new(Column1,Column2)");
Run Code Online (Sandbox Code Playgroud)

但是通过使用动态方法,您将失去使用LINQ的主要原因 - 编译时检查.您可以以相同的方式使用Entity SQL而不是LINQ,并从字符串构建查询.