繁体   English   中英

如何在Dynamic Linq中编写String.Contains

[英]How to write String.Contains in Dynamic Linq

我正在尝试编写动态linq查询,如:

var q = obj.Where("message.Contains('hello')");

我知道它适用于

var q = obj.Where(o => o.message.Contains('hello'));

但我正在寻找动态的linq解决方案

谢谢。

现在找到我的答案。

var q = obj.Where("message.Contains(@0)", "hello");

我知道这不是你想要的,但是要考虑一下:

根据您希望执行的各种操作的数量,我会创建一个switch语句来处理这个问题。

举个例子,一些使用枚举的伪代码:

(如果需要,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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM