プロバイダーのバージョンをアップグレードする
Overview
このセクションでは、プロバイダーを新しいバージョンにアップグレードするときにアプリケーションに加える必要がある重要な変更を特定できます。
アップグレードする前に、次のアクションを実行してください。
重大な変更
重大な変更とは、特定のバージョンのプロバイダー以降の規則または動作の変更です。 このタイプの変更では、プロバイダーをアップグレードする前に処理されない場合、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したプロバイダーのバージョンによって分類されます。 プロバイダーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。 例えば、プロバイダーを v 8.0から v 8.5 800} にアップグレードする場合、 v 8.0以降のバージョンからの重大な変更にはすべて対処します。 v 8.5にリストされているすべての を含みます。
バージョン8.2.0 重大な変更
FS コア プロバイダーのバージョン 8.2.0 では、重大な変更は直接導入されません。ただし、基礎の.NET/ C#ドライバーは、v 3.0 で重大な影響を与える可能性のある変更を多く導入しています。のリリースは、アプリケーションに影響する可能性があります。 .NET/ C#ドライバーの v の重大な変更の詳細については、3.0 3バージョン0 へのアップグレード を参照してください。 .NET/ C#ドライバーのドキュメントの ガイドを参照してください。
バージョン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()
メソッドを呼び出すとエラーがスローされます。無料クラスターと 共有クラスターで実行中中のアプリケーションは、これらのメソッドを呼び出しないでください。トランザクションとの楽観的な同時実行性 を確保したくない場合は、アプリケーションの設定時に
Database.AutoTransactionBehavior = AutoTrasactionBehavior.Never
DbContext
サブクラスに を設定することで自動トランザクションを無効にできます。デフォルトの GUID ストレージ形式を
CSharpLegacy
バイナリ形式からStandard
形式に変更しました。Standard
形式ではない既存の GUID がデータベースに含まれている場合は、Standard
形式に変換することをお勧めします。CamelCaseElementNameConvention
は、クラス名ではなくプロパティ名に基づいて、所有されるエンティティの大文字と小文字を変換します。 アプリケーションでCamelCaseElementNameConvention
が使用される場合、データの大文字と小文字が変更される可能性があります。
このバージョンの 重大な変更 の詳細については、次を参照してください: のプロバイダーGithub リポジトリのセクション。