LinQ to SQL构建动态条件表达式,Expression.GreaterThan方法遇到枚举类型属性报异常
在LinQ to SQL构建动态条件表达式时,当构造>、>=、<、<=这4种条件时,当调用
Expression.GreaterThan、Expression.GreaterThanOrEqual、
Expression.LessThan、Expression.LessThanOrEqual
这4个方法时,如果遇到枚举类型属性,就会报错,提示如下:没有为类型“xxx”和“xxx”定义二进制运算符 GreaterThan”,
其中xxx是枚举类型的具体类型。原因好像是因为枚举类型没有实现上述4种操作符。
我尝试用CompareTo(value)方法变相实现比较,虽然可以构造表达式,但是在运行时生成SQL失败。
请问,有什么办法解决这个问题?