AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

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

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

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

  • Ensure the new version is compatible with the MongoDB Server version your application connects to and the .NET version your application runs on. See the Compatibility page for this information.

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

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

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

FS コア プロバイダーのバージョン 9.0.0 には、TF コア プロバイダーのバージョン 8.3.0 と同じ重大な変更が含まれています。

For more information about the breaking changes in version 9.0.0 and how to address them, see the Version 8.3.0 Breaking Changes section.

FS コア プロバイダーのバージョン 8.3.0 では、代替のBSON表現で構成された null 可能なプロパティの処理を修正する重大な変更が導入されています。以前のバージョンでは、[BsonRepresentation] 属性または HasBsonRepresentation()fluent APIによって設定された構成は適用されませんでした。

この不一致は、次の 2 つの方法のいずれかの方法でアクションを実行できます。

  • 代替のBSON表現の使用が重要でない場合は、起動する前にアプリケーションから構成を削除してください。

  • あるいは、影響を受ける要素を新しい表現にアップデートすることもできます。updateManyアップグレード プロセスの一環として、影響を受けるMongoDBコレクションごとに メソッドを使用して、影響を受ける null 可能なプロパティまたは要素をBSON操作に書き換えます。$convert

    例、次のコードに示すように、people という名前のコレクション内の dateOfBirth 要素をBSON date からBSON int に変換できます。

    db.people.updateMany(
    { dateOfBirth: {$type: "date" } },
    [
    { $set: {
    dateOfBirth:
    { $convert:
    { input: "$dateOfBirth",
    to: "int",
    onNull: null
    }
    }
    }
    }
    ]
    )

Version 8.2.0 of the EF Core Provider does not directly introduce any breaking changes. However, the underlying .NET/C# Driver introduces many potentially breaking changes in the v3.0 release, which might affect your application. To learn more about the breaking changes in v3.0 of the .NET/C# Driver, see the Upgrade to Version 3.0 guide in the .NET/C# Driver documentation.

  • すべての変更を MongoDB トランザクションとして実行するように FS コア プロバイダーを更新しました。 アプリケーションが v 5.0より前の MongoDB Server を使用している場合、 または がレプリカセット内で実行されない場合は、アプリケーションに次の変更を加える必要があります。

    • アプリケーションが v 5.0より前のバージョンの MongoDB Server 用に構成されている場合、 MongoDB Server v 5.0以降にアップグレードする必要があります。

    • If your application runs on a standalone server, you must reconfigure your standalone server to a single-instance replica set. To learn more about how to reconfigure your standalone server, see Convert a Standalone Self-Managed mongod to a Replica Set in the MongoDB Server manual.

    • アプリケーションがコンテナ環境で実行されている場合は、単一インスタンスのレプリカセット コンテナが使用可能な場合、それに切り替えます。

    EnsureCreated()EnsureCreatedAsync()トランザクション中のスナップショットの問題を回避するには、コレクションまたはデータベースを暗黙的に作成するのではなく、アプリケーションの起動時に メソッドまたは メソッドを呼び出します。

    注意

    アプリケーションが共有クラスターで実行中されている場合、 またはEnsureCreated() EnsureCreatedAsync()メソッドを呼び出すとエラーがスローされます。無料クラスターと 共有クラスターで実行中中のアプリケーションは、これらのメソッドを呼び出しないでください。

    トランザクションとの楽観的な同時実行性を確保したくない場合は、アプリケーション設定中に Database.AutoTransactionBehavior = AutoTrasactionBehavior.NeverDbContextサブクラスに を設定することで自動トランザクションを無効にできます。

  • デフォルトの GUID ストレージ形式をCSharpLegacyバイナリ形式からStandard形式に変更しました。 Standard形式ではない既存の GUID がデータベースに含まれている場合は、 Standard形式に変換することをお勧めします。

  • CamelCaseElementNameConventionは、クラス名ではなくプロパティ名に基づいて、所有されるエンティティの大文字と小文字を変換します。 アプリケーションでCamelCaseElementNameConventionが使用される場合、データの大文字と小文字が変更される可能性があります。

このバージョンの重大な変更の詳細については、Github のプロバイダーリポジトリの「 重大な変更 」セクションを参照してください。

このページを評価