我正在尝试构建 Odata 表达式的解析器,当字段可为空时,我收到错误。
public class UserRight
{
public bool? active
}
public void Test(){
Expression<Func<UserRight, bool>> expression = p => p.Active == true;
}
Run Code Online (Sandbox Code Playgroud)
它生成了以下表达式:
{p => (p.Active == Convert(True, Nullable`1))}
Run Code Online (Sandbox Code Playgroud)
但我想收到它
{p => (p.Active == True)}
Run Code Online (Sandbox Code Playgroud)
为了避免这种“转换”。有没有简单的方法可以做到这一点?因为我的解析器已经准备好了,我不想仅仅因为一个可为空的字段而重建它。