dotnetcore / dotnetcore/FreeSql

PostgreSQL FromQuery+WithTempQuery+Join生成SQL错误

Open
#2,173 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.4k
Forks
910
PR merge metrics
No merged PRs in 30d

Description

#### 问题描述及重现代码:
对于【==null】和【!=null】期望生成【x is null】和【x is not null】 而不是【x. is null】和【x. is not null】
而对于非WithTempQuery 即FromQuery+Join 目前生成【x.c is null】和【x.c is not null】虽然不报错 但是也不符合真实逻辑

重现代码
```c#
freeSql.Select()
.FromQuery(freeSql.Select().WithTempQuery(x => new
{
x.C1,
}))
.LeftJoin((x, y) => y != null);
```

生成的SQL
```sql
SELECT *
FROM "T1" a
LEFT JOIN (
SELECT a."C1" "C1"
FROM T2" a ) y ON y. IS NOT NULL
```

```sql
SELECT *
FROM "T1" a
LEFT JOIN (
SELECT a."C1" "C1"
FROM T2" a ) y ON y.c IS NOT NULL
```

预期的SQL
```sql
SELECT *
FROM "T1" a
LEFT JOIN (
SELECT a."C1" "C1"
FROM T2" a ) y ON y IS NOT NULL
```

#### 数据库版本
PostgreSQL 14.18 (Debian 14.18-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit

#### 安装的Nuget包
3.5.304

#### .net framework/. net core? 及具体版本
.net 8

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.