SqlSugar的where条件中使用可空类型报语法错误

embedded/2024/9/25 16:33:03/

  SQLServer数据表中有两列可空列,均为数值类型,同时在数据库中录入测试数据,Age和Height列均部分有值。
在这里插入图片描述
在这里插入图片描述
  使用SqlSugar的DbFirst功能生成数据库表类,其中Age、Height属性均为可空类型
在这里插入图片描述
  当Where函数中的检索条件较多时,运行以下代码时会抛异常,提示语法错误

List<AppUsers> users=db.Queryable<AppUsers>().Where(r=>(r.UserName=="aaa") && (r.Password=="123") &&(!r.Age.HasValue || r.Age>20)).Select(r=>new AppUsers { UserName=r.UserName}).ToList();  

在这里插入图片描述

  如果将where函数中的r.Age.HasValue去掉则不会出错。将上述代码生成的SQL语句复制出来,发现最后的非空类型逻辑或操作生成的语句有问题。暂时搞不清楚是否是使用SqlSugar方式不对造成的。
在这里插入图片描述
  最后的解决办法是将上述代码拆成了两行代码,分别按逻辑或操作的不同条件查询数据。其实也可以手工拼sql语句,然后使用SqlSugar直接执行Sql语句。


http://www.ppmy.cn/embedded/116710.html

相关文章

常用微服务网关详解,底层设计逻辑介绍

1 API网关基础 1.1 什么是API网关 API网关是一个服务器&#xff0c;是系统的唯一入口。 从面向对象设计的角度看&#xff0c;它与外观模式类似。 API网关封装了系统内部架构&#xff0c;为每个客户端提供一个定制的API。它可能还具有其它职责&#xff0c;如身份验证、监控、…

QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库

1.出现这个错误的原因是&#xff1a; 缺少如下文件&#xff1a; 2.解决方法&#xff1a; 在运行程序.exe所在的目录执行&#xff1a;windeployqt untitled.exe&#xff08;指打包的运行程序&#xff09; 3.如果执行提示由于找不到qt5core.dll,无法继续执行代码和无法识别win…

帆软通过JavaScript注入sql,实现数据动态查询

将sql语句设置为参数 新建数据库查询 设置数据库查询的sql语句 添加控件 JavaScript实现sql注入 添加事件 编写JavaScript代码 //获取评价人id var pjrid this.options.form.getWidgetByName("id").getValue();//显示评价人id alert("评价人&#xff1a;&…

第六章 输入和输出处理(IO流)

File类操作文件 public static void main(string[] args){try {//创建File对象// 绝对路径相对路径string path "D:/4072/1/":String fileName "1.txt";File file new File(path);if(!file.exists()&&!file.isDirectory()){ file.mkdirs();//创…

AI视觉算法盒是什么?如何智能化升级网络摄像机,守护全方位安全

在智能化浪潮席卷全球的今天&#xff0c;以其创新技术引领行业变革&#xff0c;推出的集高效、智能、灵活于一体的AI视觉算法盒。这款革命性的产品&#xff0c;旨在通过智能化升级传统网络摄像机&#xff0c;为各行各业提供前所未有的安全监控与智能分析能力&#xff0c;让安全…

记录网络IP自动获取到169.254.x.x的解决过程

总结&#xff1a; 出现断网并且显示未识别的网络时&#xff0c;可能会存在几种情况&#xff1a; IP冲突导致的无法上网。网卡配置错误导致的无法上网。网络未连通导致无法通过路由DHCP获取IP&#xff0c;导致的无法上网。即使交换机没有WAN口网线&#xff0c;电脑连接LAN口也会…

在Linux服务器上如何实现自动化部署?

在Linux服务器上实现自动化部署可以通过多种工具和方法来完成。以下是一个常见的自动化部署流程&#xff0c;结合了版本控制、自动化构建和部署工具。 1. 使用版本控制系统(如Git) 确保你的代码库已经在版本控制系统(如Git)中进行管理。 # 克隆代码库 git clone https://github…

本地搭建OnlyOffice在线文档编辑器结合内网穿透实现远程协作

文章目录 前言1. 安装Docker2. 本地安装部署ONLYOFFICE3. 安装cpolar内网穿透4. 固定OnlyOffice公网地址 前言 本篇文章讲解如何使用Docker在本地Linux服务器上安装ONLYOFFICE&#xff0c;并结合cpolar内网穿透实现公网访问本地部署的文档编辑器与远程协作。 Community Editi…