Overview
このセクションでは、プロバイダーを新しいバージョンにアップグレードするときにアプリケーションに加える必要がある重要な変更を特定できます。
アップグレードする前に、次のアクションを実行してください。
重大な変更
重大な変更とは、特定のバージョンのプロバイダー以降の規則または動作の変更です。 このタイプの変更では、プロバイダーをアップグレードする前に処理されない場合、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したプロバイダーのバージョンによって分類されます。 プロバイダーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。 例えば、プロバイダーを v 8.0から v 8.5 800} にアップグレードする場合、 v 8.0以降のバージョンからの重大な変更にはすべて対処します。 v 8.5にリストされているすべての を含みます。
バージョン8.1.0 重大な変更
すべての変更を MongoDB トランザクションとして実行するように FS コア プロバイダーを更新しました。 アプリケーションが v 5.0より前の MongoDB Server を使用している場合、 または がレプリカセット内で実行されない場合は、アプリケーションに次の変更を加える必要があります。
アプリケーションが v 5.0より前のバージョンの MongoDB Server 用に構成されている場合、 MongoDB Server v 5.0以降にアップグレードする必要があります。
アプリケーションがスタンドアロン サーバーで実行される場合は、スタンドアロン サーバーを単一インスタンスのレプリカセットに再構成する必要があります。 スタンドアロン サーバーを再構成する方法の詳細については、 mongodMongoDB Serverマニュアルの「 スタンドアロンの自己管理型 をレプリカセットに変換する 」を参照してください。
アプリケーションがコンテナ環境で実行されている場合は、単一インスタンスのレプリカセット コンテナが使用可能な場合、それに切り替えます。
トランザクション中のスナップショットの問題を回避するには、コレクションまたはデータベースを暗黙的に作成するのではなく、アプリケーションの起動時に
EnsureCreated()
またはEnsureCreatedAsync()
メソッドを呼び出します。注意
アプリケーションが共有クラスターで実行中されている場合、 または
EnsureCreated()
EnsureCreatedAsync()
メソッドを呼び出すとエラーがスローされます。無料クラスターと 共有クラスターで実行中中のアプリケーションは、これらのメソッドを呼び出しないでください。If you don't want to ensure optimistic concurrency with transactions, you can disable automatic transactions by setting
Database.AutoTransactionBehavior = AutoTrasactionBehavior.Never
on yourDbContext
subclass during your application setup.デフォルトの GUID ストレージ形式を
CSharpLegacy
バイナリ形式からStandard
形式に変更しました。Standard
形式ではない既存の GUID がデータベースに含まれている場合は、Standard
形式に変換することをお勧めします。CamelCaseElementNameConvention
は、クラス名ではなくプロパティ名に基づいて、所有されるエンティティの大文字と小文字を変換します。 アプリケーションでCamelCaseElementNameConvention
が使用される場合、データの大文字と小文字が変更される可能性があります。
For more information about the breaking changes in this version, see the Breaking Changes section of the provider repository on GitHub.