會影響提供者的變更

此頁面包含 EF Core 存放庫上提出的提取要求連結,這些要求可能需要其他資料庫提供者的作者做出反應。 其目的是在將提供者更新為新版本時,為現有協力廠商資料庫提供者的作者提供起點。

我們將從 2.1 變更為 2.2 開始此記錄。 在 2.1 之前,我們在 providers-beware 問題和提取要求上使用 和 providers-fyi 標籤。

2.2 --- > 3.x

請注意,許多 應用層級的重大變更 也會影響提供者。

2.1 --- > 2.2

僅限測試的變更

測試和產品名稱變更

  • https://github.com/dotnet/efcore/pull/12109 - 合併 RelationalTypeMapping.Clone 方法
    • 2.1 對 RelationalTypeMapping 的變更,允許在衍生類別中簡化。 我們不認為這會中斷提供者,但提供者可以利用其衍生類型對應類別中的這項變更。
  • https://github.com/dotnet/efcore/pull/12069 - 標記或具名查詢
    • 新增用於標記 LINQ 查詢的基礎結構,並讓這些標籤顯示為 SQL 中的批註。 這可能需要提供者在 SQL 產生時做出反應。
  • https://github.com/dotnet/efcore/pull/13115 - 透過 NTS 支援空間資料
    • 允許在提供者外部註冊類型對應和成員翻譯工具
      • 提供者必須呼叫基底。FindMapping() 在其 ITypeMappingSource 實作中運作
    • 請遵循此模式,將空間支援新增至跨提供者一致的提供者。
  • https://github.com/dotnet/efcore/pull/13199 - 為服務提供者建立新增增強的偵錯
    • 允許 DbCoNtextOptionsExtensions 實作新的介面,以協助人們瞭解內部服務提供者重建的原因
  • https://github.com/dotnet/efcore/pull/13289- 新增 Can連線 API 以供健康情況檢查使用
    • 此 PR 會新增 ASP.NET Core 健康情況檢查所使用的概念 CanConnect ,以判斷資料庫是否可用。 根據預設,關聯式實作只會呼叫 Exist ,但提供者可以視需要實作不同的專案。 非關聯式提供者必須實作新的 API,才能使用健康情況檢查。
  • https://github.com/dotnet/efcore/pull/13306 - 將基底 RelationalTypeMapping 更新為未設定 DbParameter 大小
    • 預設停止設定 [大小],因為它可能會導致截斷。 如果需要設定 Size,提供者可能需要新增自己的邏輯。
  • https://github.com/dotnet/efcore/pull/13372 - RevEng:永遠指定十進位資料行的資料行類型
    • 一律在 Scaffold 程式碼中設定十進位資料行的資料行類型,而不是依照慣例進行設定。
    • 提供者不應該在其端要求任何變更。
  • https://github.com/dotnet/efcore/pull/13469 - 新增 CaseExpression 以產生 SQL CASE 運算式
  • https://github.com/dotnet/efcore/pull/13648 - 新增在 SqlFunctionExpression 上指定類型對應的能力,以改善引數和結果的存放區類型推斷。