使用SqlSugar连接达梦数据库,查询异常状态的表记录,最初的代码如下所示:
csharp
db.Queryable<AppUsers>().Where(r => r.UserName != "aaa").Select(r => new AppUsers { UserName = r.UserName })
能搜到数据,但是不全,从数据库表数据中发现能搜到UserName属性有值但是不等于aaa的记录,但是如果UserName值为NULL,则搜索不到。之前使用SQLServer没有遇到过此类情况,专门在达梦客户端工具中用Sql语句试了,确实搜不到值为NULL的记录。于是将代码修改为以下方式,问题解决(也可以拆成两个查询,或者直接用SqlSugar运行SQL语句)。
csharp
db.Queryable<AppUsers>().Where(r => string.IsNullOrEmpty(r.UserName) || r.UserName != "aaa").Select(r => new AppUsers { UserName = r.UserName })