是否可以在LINQ查询期间后传递参数?在Linq查询上传递参数
比如这个代码:
objResultFinal = objResultFinal.OrderByDescending(x => x.[iwanttopassparameterhere]).ToList();
这可能吗?我想在“x”之后声明。我想要查询的字符串。
是否可以在LINQ查询期间后传递参数?在Linq查询上传递参数
比如这个代码:
objResultFinal = objResultFinal.OrderByDescending(x => x.[iwanttopassparameterhere]).ToList();
这可能吗?我想在“x”之后声明。我想要查询的字符串。
objResultFinal.OrderByDescending(s => s.GetType().GetProperty("PropertyName").GetValue(s, null));
如果这是Linq 2 SQL或实体框架会怎么样? – user3185569
这对我来说非常合适。谢谢! –
您的列表是类型object
?您必须首先投射或使用反射。
使用铸造:
var sortedList = objectList.Cast<Email>().OrderByDescending(item => item.EmailAddress).ToList();
也许这可以使用动态LINQ如下完成 -
objResultFinal.OrderBy(passYourParameterHere).ToList();
var list = new List<MyClass>();
list.Add(new MyClass { Name = "V" });
list.Add(new MyClass { Name = "B" });
list.Add(new MyClass { Name = "A" });
list.Add(new MyClass { Name = "C" });
//Create expression here, IF YOU ARE SORTING ON STRING PROPERTY KEEP KEY AS STRING OR CHANGE TO RESPECTIVE DATA TYPE
Func<MyClass,string> expression = s=>s.Name;
var ordered = list.OrderByDescending(expression).ToList();
类对象
class MyClass
{
public string Name { get; set; }
}
通过传递参数是什么意思?你的意思是访问一个属性? –
是通过传递参数来访问属性。例如: 串strToPass = “myProperty的” 然后在LINQ查询: X => x.strToPass 这可能吗?我想在LINQ上动态查询,但我不确定哪些属性要过滤。 –
这不是一个有效的语法:'x。[iwanttopassparameterhere]'。你想做什么 ? – user3185569