C# “动态LINQ选择方法”;选择器";论点
我正在与动态LINQ作斗争。 给定一个IQueryable列表(var queryable MyList.AsQueryable),我的linq语句C# “动态LINQ选择方法”;选择器";论点,c#,linq,dynamic,C#,Linq,Dynamic,我正在与动态LINQ作斗争。 给定一个IQueryable列表(var queryable MyList.AsQueryable),我的linq语句 var queryable = plist.AsQueryable(); query = from People p in queryable .Where<People>( "whereclause" ) .Select( p )
var queryable = plist.AsQueryable();
query = from People p in queryable
.Where<People>( "whereclause" )
.Select( p );
需要“选择器”的字符串参数,但无法确定如何将其设置为仅获取整个实例
任何帮助都将不胜感激 var query=来自查询中的人员p
var query = from People p in queryable
.Where<People>("whereclause")
select p;
.其中(“Where条款”)
选择p;
var query=来自查询表中的人员p
.其中(“Where条款”)
选择p;
问题在于,您混合了使用LINQ表达式的两种方法,必须使用Lambda表达式或类似SQL的表达式,而不是两者的组合
var result=plist.AsQueryable().Where(x=>true.ToList()代码>
.Where(x=>true)
应该包含过滤逻辑,例如。Where(p=>p.Age>14&&p.Age<21)
那么您有两种选择,一种是通过添加.ToList()将该对象框入列表
或选择要添加到对象中的属性,然后添加。选择(s=>s.Age).ToList()代码>此表达式将返回列表,前提是您的对象中有一个int-Age属性,或者您可以通过将检索到的值强制转换到新对象中来返回特定对象,或者在新匿名对象中接收数据选择(s=>new{newProp=s.Age}).ToList()代码>
类似SQL的
var result=来自plist//查询对象中的对象o
你的情况如何
选择o;//选定值
希望这有帮助 问题在于,您正在混合使用LINQ表达式的两种方法,必须使用Lambda表达式或类似SQL的表达式,而不是两者的组合
Lambda表达式:
var result=plist.AsQueryable().Where(x=>true.ToList()代码>
注意:.Where(x=>true)
应该包含过滤逻辑,例如。Where(p=>p.Age>14&&p.Age<21)
那么您有两种选择,一种是通过添加.ToList()将该对象框入列表
或选择要添加到对象中的属性,然后添加。选择(s=>s.Age).ToList()代码>此表达式将返回列表,前提是您的对象中有一个int-Age属性,或者您可以通过将检索到的值强制转换到新对象中来返回特定对象,或者在新匿名对象中接收数据选择(s=>new{newProp=s.Age}).ToList()代码>
类似SQL的
var result=来自plist//查询对象中的对象o
你的情况如何
选择o;//选定值
希望这有帮助 正确的形式是。选择(p=>p)
,但它是多余的,因为@mjwills saidI之前实际上是错误的-它应该改为选择p
。我已经编辑了这个问题(更改了缩进),以便更清楚地说明原因。正确的形式是。选择(p=>p)
,但它是多余的,因为@mjwills saidI之前实际上是错误的-它应该改为选择p
。我对问题进行了编辑(更改了缩进),以便更清楚地说明原因。
var query = from People p in queryable
.Where<People>("whereclause")
select p;