[英]How to write String.Contains in Dynamic Linq
I'm trying to write a dynamic linq query like: 我正在尝试编写动态linq查询,如:
var q = obj.Where("message.Contains('hello')");
I know it works for 我知道它适用于
var q = obj.Where(o => o.message.Contains('hello'));
but i'm looking for dynamic linq solution 但我正在寻找动态的linq解决方案
Thanks. 谢谢。
现在找到我的答案。
var q = obj.Where("message.Contains(@0)", "hello");
I know this isn't what you are looking for, but just as a point to consider: 我知道这不是你想要的,但是要考虑一下:
Depending on how many various kinds of operation you expect to perform, I would create a switch statement to handle this. 根据您希望执行的各种操作的数量,我会创建一个switch语句来处理这个问题。
As an example, some pseudocode using an enum: 举个例子,一些使用枚举的伪代码:
(OperationType is an Enum if desired) (如果需要,OperationType是枚举)
private object example(OperationType optype, Object obj, String match)
{
var q;
switch (optype)
{
case OperationType.Contains:
q = obj.Where(o => o.message.Contains(match));
break;
case OperationType.EndsWith:
q = obj.Where(o => o.message.EndsWith(match));
break;
case OperationType.StartsWith:
q = obj.Where(o => o.message.StartsWith(match));
break;
}
return q;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.