Docs Menu
Docs Home
/ / /
FS コア プロバイダー

プロバイダーのバージョンをアップグレードする

項目一覧

  • Overview
  • 重大な変更

このセクションでは、プロバイダーを新しいバージョンにアップグレードするときにアプリケーションに加える必要がある重要な変更を特定できます。

アップグレードする前に、次のアクションを実行してください。

  • 新しいバージョンが、アプリケーションが接続する MongoDB Server のバージョンと、アプリケーションが実行される.NET バージョンと互換性があることを確認します。 この情報については、 互換性セクションを参照してください。

  • アプリケーションが使用しているプロバイダーの現在のバージョンと計画されているアップグレード バージョンとの間の重大な変更については、 重大な変更セクションを参照してください。

重大な変更とは、特定のバージョンのプロバイダー以降の規則または動作の変更です。 このタイプの変更では、プロバイダーをアップグレードする前に処理されない場合、アプリケーションが正常に動作しなくなる可能性があります。

このセクションの重大な変更は、それを導入したプロバイダーのバージョンによって分類されます。 プロバイダーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。 例えば、プロバイダーを v 8.0から v 8.5 800} にアップグレードする場合、 v 8.0以降のバージョンからの重大な変更にはすべて対処します。 v 8.5にリストされているすべての を含みます。

FS コア プロバイダーのバージョン 8.2.0 では、重大な変更は直接導入されません。ただし、基礎の.NET/ C#ドライバーは、v 3.0 で重大な影響を与える可能性のある変更を多く導入しています。のリリースは、アプリケーションに影響する可能性があります。 .NET/ C#ドライバーの v の重大な変更の詳細については、3.0 3バージョン0 へのアップグレード を参照してください。 .NET/ C#ドライバーのドキュメントの ガイドを参照してください。

  • すべての変更を 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 リポジトリのセクション。

戻る

新機能