dotnet / dotnet/efcore

`Select(x=>new { a=Sum(NullableField)??null })` generate `COALESCE` error

Open
#29,344 2 comments 3 reactions 0 assignees View on GitHub
area-groupby area-query customer-reported
Dominant language
C#
Stars
14.8k
Forks
3.4k
PR merge metrics
PR metrics pending

Description

## File a bug

### Include your code

```C#
public class DataSetA
{
public string Name { get; set; }

[Key]
public int Id { get; set; }

public DateTime Time { get; set; }

public int? L { get; set; }
}

var q2 = set.GroupBy(x => x.Id).Select(x => new { d = x.Sum(q => q.L) ?? null });
var q4 = set.GroupBy(x => x.Id).Select(x => x.Sum(q => q.L)??null);

//SELECT COALESCE(COALESCE(SUM("d"."L"), 0), NULL) AS "d"
//FROM "DataSetAs" AS "d"
//GROUP BY "d"."Id"
var q2Sql = q2.ToQueryString();

//SELECT COALESCE(COALESCE(SUM("d"."L"), 0), NULL)
//FROM "DataSetAs" AS "d"
//GROUP BY "d"."Id"
var q4Sql = q4.ToQueryString();
```

### Include stack traces

No

### Include verbose output

No

### Include provider and version information

EF Core version:
Database provider: (Microsoft.EntityFrameworkCore.Sqlite)
Target framework: (.NET 6.0)
Operating system:
IDE: (e.g. Visual Studio 2022 17.3.3)

So how can i do make `new {q=q.Sum(xxx)??null}` generate `COALESCE(SUM("d"."L"), NULL)`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.