Open Andreas-Dorfer opened 7 months ago
I can confirm this behavior too. Just recently, I changed all JSON collection properties to non-nullable, since it was confusing for the teams not to be able to set it to null.
Btw, no matter if you annotate the collection property as nullable or non-nullable, the underlying db column is always defined as nullable. Not sure if that's by design or if it's a bug. Until recently, collections were never mapped to columns, so I guess this is an artifact of that.
I have an entity with an owned, nullable JSON collection (see NullVsEmptyList.zip for a running example):
Once
Children
is persisted as[]
, I cannot set it tonull
.Here's the generated SQL update statement:
It seems to me like the change tracking doesn't recognize the change from
[]
tonull
as a relevant change. If I understand #31831 correctly,[]
andnull
should be considered distinct.EF Core version: 8.0.3 Database provider: Microsoft.EntityFrameworkCore.Sqlite 8.0.3 (and Npgsql.EntityFrameworkCore.PostgreSQL 8.0.2) Target framework: net8.0 IDE: Visual Studio 2022 17.9.5