我正在使用動態Lambda表達式查詢,而不使用API。實體框架字符串數據類型使用>,> =,<,<=運算符:Lambda表達式
如果用戶選擇字段名稱爲「AddressLine1」,而運算符選擇> = FieldValue爲「K」 它應該返回結果作爲所有AddressLine1字段值,以K開頭並且L,M開始到Z系列。
下面是代碼,它適用於整數數據類型:
public static Expression CreateBinaryExpression(Expression argLeft, Expression argRight, operatorType opType) {
switch ((operatorType)opType) {
case operatorType.Greater:
return Expression.GreaterThan(argLeft, argRight);
case operatorType.GreaterEqual:
return Expression.GreaterThanOrEqual(argLeft, argRight);
...
}
}
如何修改代碼字符串數據類型的工作比等於運算符大。我正在尋找這個表達。任何人有想法?
你是正確的Knittl – sivaL
Knittl,返回String.Compare(argLeft,argRight)> 0;返回String.Compare(argLeft,argRight)> = 0; 兩者都返回相同的結果。你有什麼主意嗎?關於這個我張貼在這裏http://stackoverflow.com/questions/12390695/lambda-expression-compare-operator-issue – sivaL
它的工作,正確的論點我dint給正確的一個 – sivaL