我正在尝试选择“值”列为空或空格的所有行。它是 nvarchar 类型,允许为空值。
执行以下查询时,不会产生正确的 sql。
current.Where(
a =>
a.Data.All(ad => ad.AccountTag.Id != currentTag.Item1)
|| a.Data.Any(ad => ad.AccountTag.Id == currentTag.Item1 && string.IsNullOrWhiteSpace(currentTag.Item2)))
string.IsNullOrWhiteSpace 函数转换为1 /* @p3 */ = 1
我已经尝试使用上述功能,也尝试使用currentTag.Item2 == null || currentTag.Item2.Equals(string.Empty)
两者并获得相同的结果。
下面是完整的 SQL
select data2_.Id from [isnapshot.Client].[dbo].AccountData data2_
where account0_.Id = data2_.ClientAccountId
and data2_.AccountTagId = 1 /* @p2 */
and 1 /* @p3 */ = 1)