c# - 为字节动态创建 Where 子句?场地
问题描述
与上面的主题完全相似,我写了这个Expression
:
var body = Expression.AndAlso(
Expression.Equal(
Expression.PropertyOrField(param, "Year"),
Expression.Constant(year)
),
Expression.AndAlso(
Expression.Equal(
Expression.PropertyOrField(param, "CityCode"),
Expression.Constant(cityCode)
),
Expression.Equal(
Expression.PropertyOrField(param, "Status"),
Expression.Constant(50)
)
)
);
唯一不同的是在我的新表中Status
是tinyint null
或(byte?)
在C#
. 当我运行代码时,我得到了这个错误:
没有为类型“System.Nullable`1[System.Byte]”和“System.Byte”定义二元运算符 Equal
所以我改变Expression.Constant(50)
并Expression.Constant((byte?)50)
再次得到同样的错误。我的错误在哪里?
谢谢
更新 1)
我试过这个:Expression.Constant(50, typeof(byte?));
但我得到了这个错误:
参数类型不匹配
解决方案
几乎就像埃文所说:
Expression.Constant((byte?)50, typeof(byte?))
推荐阅读
- java - 片段空对象引用
- javascript - 垂直 div 反转 H1 颜色
- google-sheets - 如何在 Google 表格中检查多个单元格的值
- gnuplot - Gnuplot -- 参数为零的不完整 Beta 函数
- excel - 有没有办法使用 LOOKUP/VLOOKUP/HLOOKUP 在 EXCEL 中返回标题。当前公式返回错误值
- node.js - create-react-app/express 代理错误:无法代理请求(ECONNRESET)
- python - 如何根据当前页面url更改django中的href?
- reactjs - 尽管在沙盒中有效,但国家端点没有返回任何内容
- python - 为什么这个插入二叉搜索树的python代码不起作用?
- html - 为什么有些网格项目出现乱序?