自学内容网 自学内容网

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

  SQLServer数据表中有两列可空列,均为数值类型,同时在数据库中录入测试数据,Age和Height列均部分有值。
在这里插入图片描述
在这里插入图片描述
  使用SqlSugar的DbFirst功能生成数据库表类,其中Age、Height属性均为可空类型。
在这里插入图片描述
  开始使用的SqlSugar版本较低,运行以下代码时会抛异常,提示语法错误,如果将where函数中的r.Age.HasValue去掉则不会出错。

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

  将SqlSugar重新安装到最新版本(5.1.4.X),运行上述代码则不会出错。
  暂时搞不清楚是数据有问题还是使用SqlSugar方式不对造成的。


原文地址:https://blog.csdn.net/gc_2299/article/details/142423402

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!