EF PostgreSQL array_append

EF PostgreeSQL array_append

我想将一个项目附加到类型为 int[] 的列中。 我看到带有 array_append 的 PostgreSQL 文档可以做到这一点。 但是我们如何使用 EF Core 做到这一点呢? (我使用 Npgsql.EntityFrameworkCore.PostgreSQL)

这目前不受支持(可以找到支持的数组翻译列表 here)。

与此同时,作为一种解决方法,您可以使用 raw SQL queries 直接在 SQL 中表达您的查询,并可能在此基础上编写其他 LINQ 运算符。

编辑:打开 https://github.com/npgsql/efcore.pg/issues/2026 进行跟踪,这应该适用于 6.0。

原始SQL查询:

var sql= $"UPDATE public.\"TableName\" SET \"ArrayColumnName\" = array_append(\"ArrayColumnName\", {value}) WHERE  ... ;";//fill ... with your condition

var result =await  _dbContext.Database.ExecuteSqlRawAsync(sql) ;//return int