Skip to content

Commit 5fbdcb9

Browse files
Remove non-breaking provider-facing changes, keep only JsonPath and tests
Agent-Logs-Url: https://github.com/dotnet/EntityFramework.Docs/sessions/ee1d6495-1b0c-4a81-8338-132147d27c1e Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com>
1 parent c038091 commit 5fbdcb9

1 file changed

Lines changed: 0 additions & 4 deletions

File tree

entity-framework/core/what-is-new/ef-core-11.0/provider-facing-changes.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ This page documents noteworthy changes in EF Core 11 which may affect EF provide
1414

1515
* Collation names are now quoted in SQL, like column and table names ([see #37462](https://github.com/dotnet/efcore/issues/37462)). If your database doesn't support collation name quoting, override `QuerySqlGenerator.VisitSql()` and `MigrationsSqlGenerator.ColumnDefinition()` to revert to the previous behavior, but it's recommended to implement some sort of restricted character validation.
1616
* The `JsonPath` property on `IColumnModification` and `ColumnModificationParameters` has changed from `string?` to the new structured `JsonPath` type ([PR #38038](https://github.com/dotnet/efcore/pull/38038)). The `JsonPath` class provides `Segments`, `Ordinals`, an `IsRoot` property, and an `AppendTo(StringBuilder)` method for rendering the JSONPATH string. Providers that override `UpdateSqlGenerator.AppendUpdateColumnValue()` or otherwise handle JSON partial updates should update their code to use this new type. Where previously you checked for `null` or `"$"`, use `JsonPath is not { IsRoot: false }` instead, and call `JsonPath.AppendTo(stringBuilder)` to write the JSONPATH string representation.
17-
* The `FindColumn` methods on `ITableBase`, `ITable`, `IView`, `ISqlQuery`, and `IStoreFunction` now accept `IPropertyBase` instead of `IProperty` ([PR #38038](https://github.com/dotnet/efcore/pull/38038)). This allows navigations and complex properties to be passed in addition to scalar properties. Providers that implement custom `FindColumn` overloads should update their parameter types accordingly.
18-
* JSON columns in the relational model now have a structured representation via new `IRelationalJsonElement`, `IRelationalJsonObject`, `IRelationalJsonArray`, and `IRelationalJsonScalar` interfaces ([PR #38038](https://github.com/dotnet/efcore/pull/38038)). Each `IColumnBase` now exposes a `JsonElement` property that provides access to the element tree for the column, with strongly-typed `JsonPath` properties containing placeholders for array indices.
19-
* `SharedTableConvention` has a new `KeysUniqueAcrossSchemas` virtual property that defaults to `true` ([PR #37861](https://github.com/dotnet/efcore/pull/37861)). Databases that scope constraint-name uniqueness per-schema (e.g. PostgreSQL) can override this to `false` to avoid unnecessary key constraint name renames across schemas.
20-
* Column mapping extension methods such as `GetColumnMappings()` and `GetViewColumnMappings()` now accept `IPropertyBase` instead of `IProperty`, allowing navigations to be passed ([PR #38038](https://github.com/dotnet/efcore/pull/38038)). A new `GetJsonElementMappings()` extension method has been added for accessing JSON element mappings on navigations and properties.
2117

2218
## Test changes
2319

0 commit comments

Comments
 (0)