我想寫一個動態的LINQ查詢,如:如何寫String.Contains動態的LINQ
var q = obj.Where("message.Contains('hello')");
我知道它的工作原理爲
var q = obj.Where(o => o.message.Contains('hello'));
,但我正在尋找動態linq解決方案
謝謝。
我想寫一個動態的LINQ查詢,如:如何寫String.Contains動態的LINQ
var q = obj.Where("message.Contains('hello')");
我知道它的工作原理爲
var q = obj.Where(o => o.message.Contains('hello'));
,但我正在尋找動態linq解決方案
謝謝。
我知道這是不是你在找什麼,但只是作爲一個點來考慮:
取決於你希望有多少各種操作的執行,我想創建一個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;
}
嗨JYelton,謝謝你的回覆。其實我正在尋找像Mike提出的一些答案。但邁克的表情不起作用。 – Zalan 2010-08-11 08:09:17
現在找到我的答案。
var q = obj.Where("message.Contains(@0)", "hello");
什麼部分需要變動?消息還是「你好」? – 2010-08-09 14:42:19
其實是「包含」 – Zalan 2010-08-09 15:03:17