Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为字节动态创建Where子句?领域_C#_Lambda_Expression Trees_C# 7.0 - Fatal编程技术网

C# 为字节动态创建Where子句?领域

C# 为字节动态创建Where子句?领域,c#,lambda,expression-trees,c#-7.0,C#,Lambda,Expression Trees,C# 7.0,有关: 与上面的主题完全相似,我写了这个表达式: var body = Expression.AndAlso( Expression.Equal( Expression.PropertyOrField(param, "Year"), Expression.Constant(year) ), Expression.AndAlso( Expression.Equal( Expression.PropertyOrField(par

有关:

与上面的主题完全相似,我写了这个
表达式

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
中的
(字节?
)。运行代码时,出现以下错误:

未为类型“System.Nullable`1[System.Byte]”和“System.Byte”定义二进制运算符Equal

因此,我将
Expression.Constant(50)
更改为
Expression.Constant((字节?)50)
,再次得到相同的错误。我的错在哪里

谢谢


更新1)

我试过:
Expression.Constant(50,typeof(byte?)但是我得到了这个错误:

参数类型不匹配

几乎正如埃文所说:

Expression.Constant((byte?)50, typeof(byte?))

您是否尝试过:
Expression.Constant(50,typeof(byte?)?是的,我得到了这个错误:
参数类型不匹配
哪个调用会引发异常?@PetSerAl,所有这些调用@但这是不可能的。因为这里没有任何异常处理程序,所以一旦第一个方法调用抛出异常,其他方法调用将不会执行。因此,只有一个方法调用抛出异常。哪一个?