Docs Menu
Docs Home
/ / /
C#/.NET
/

バージョン3.0にアップグレード

項目一覧

  • Overview
  • アップグレード方法
  • バージョン3.0 重大な変更

このページでは、 .NET/ C#ドライバーをバージョン3.0にアップグレードするときにアプリケーションに加える必要がある変更について説明します。

このページでは、 .NET/ C#ドライバー バージョン3.0によって導入される可能性のある重大な変更をリストします。 .NET/ C#ドライバーをバージョン3.0にアップグレードするには、次の手順に従います。

  1. [ 互換性] ページを確認して、新しいドライバー バージョンが、アプリケーションが接続するMongoDB Serverのバージョン およびアプリケーションが実行される.NETまたは.NETフレームワークのバージョンと互換性があることを確認します。

  2. .NET/ C#ドライバーの2 .x バージョンを使用している場合は、 v 2.30にアップグレードします。これを行うには、 v 2 .x アップグレードガイドに従います。

  3. バージョン3.0の重大な変更セクションで説明されている重大な変更に対処します。

    ドライバーを v 2.14から v 3.0 800} にアップグレードする場合は、まず v 2 .x アップグレードガイドを使用してドライバーを v 2.30にアップグレードします。次に、v 3.0のすべての重大な変更に対処します。

  • ドライバーはMongoDB Server v 3.6以前のサポートを削除します。 MongoDB Serverは v 4.0以降にアップグレードする必要があります。

    MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。

    .NET/C# ドライバーのバージョンと MongoDB Server のバージョンの互換性の詳細については、互換性ページをご覧ください。

  • ドライバーは、 .NET Core 2 .x および.NET Framework 4.6のサポートを削除します。 .NET Core 3 .x 以降、または.NET Framework 4.7.2以降にアップグレードする必要があります。

    .NET/ C#ドライバーのバージョンと.NETのバージョンの互換性の詳細については、互換性ページをご覧ください。

  • ドライバーは mongos シャード ドライバーを削除します NuGetパッケージ。ドライバー バージョン1 2.x にレガシーv .x APIを実装します。 v1 .x APIを使用している場合は、新しいAPIに移行する必要があります。

  • v 2.30で非推奨となった MongoDB.Driver.Core名前空間内のクラス、メソッド、プロパティはinternalとマークされています。ドライバーが非推奨のクラス、メソッド、またはプロパティの代替を提供する場合、 v 2.30のコンパイラー メッセージにそれが表示されます。

  • ドライバーの以前のバージョンで非推奨だったMongoDB.Bson名前空間内のメソッド、プロパティ、コンストラクターが削除されました。ドライバーが非推奨のメソッド、プロパティ、またはコンストラクターの代替を提供する場合、v 2.30のコンパイラー メッセージにそれが表示されます。

  • ドライバーはMONGODB-CR認証メカニズムのサポートを削除します。 .NET/ C#ドライバーで認証を構成する方法の詳細については、「認証メカニズム 」を参照してください。

  • ドライバーは、他のほとんどの LINQ プロバイダーで使用されるパターンに従って、 IMongoQueryableインターフェースをIQueryableインターフェースに置き換えます。アプリケーションにIMongoQueryableへの参照が含まれている場合は、 IQueryableに置き換えます。

  • ドライバーはClusterBuilder.ConfigureSdamLogging()メソッドを削除します。アプリケーションでログを構成するには 、「ログガイド」を参照してください。

  • LINQ 2プロバイダーはこのバージョンのドライバーから削除されました。すべての LINQ クエリに LINQ 3を使用する必要があります。

  • .NET/ C#ドライバーの以前のバージョンでは、2 つの GUID 表現モードがサポートされていました。バージョン3.0では、サポートされているモードはGuidRepresentationMode.V3のみです。この変更は、ドライバーに次の影響を与えます。

    • BsonBinaryData(Guid)コンストラクターが削除されました。 GUID からBsonBinaryDataオブジェクトを構築するには、 BsonBinaryData.Create(Guid, GuidRepresentation)コンストラクタを使用します。

    • BsonBinaryData.GuidRepresentationプロパティが削除されました。

    • BsonBinaryData.ToGuid()メソッドは、サブタイプ4のBsonBinaryDataオブジェクトでのみ呼び出しできます。オブジェクトに他のサブタイプがある場合は、 BsonBinaryData.ToGuid(GuidRepresentation)メソッドを呼び出してサブタイプを指定する必要があります。

    上記の変更は、 BSONドキュメントを直接直列化および逆直列化する場合にのみアプリケーションに影響します。 MongoDBドキュメントをPOCOのみにマッピングする場合、 GuidRepresentationModeはアプリケーションに影響を与えません。

    .NET/ C#ドライバーで GUID を直列化する方法について詳しくは、「 GUIDのページ 」を参照してください。

  • 例外クラスとその関連型には、 [Serializable]属性が含まれなくなったため、 Microsoftレガシー直列化APIのサポートが終了しました。 .NET/ C#ドライバーを使用してオブジェクトを直列化する方法については、 「直列化ガイド」 を参照してください。

  • TLS 1.0と1.1はサポートされなくなりました。 TLS 1.2以上を使用する必要があります。 .NET/ C#ドライバーで TLS/SSL を構成する方法の詳細については、「接続で TLS を有効にする 」を参照してください。

  • デフォルトでは 、ドライバーはDecimal128decimal値をBSON Decimal128値として直列化します。ドライバーの以前のバージョンでは、ドライバーはこれらの値をデフォルトでBSON string値として直列化していました。 decimalまたはDecimal128の値を string として v 3.0でシリアル化するには、フィールドに[BsonRepresentation(BsonType.String)]属性を適用します。

    直列化化 中にBSON型を指定する方法の詳細については、 POCO ページの「カスタム直列化」セクションを参照してください。

  • デフォルトでは 、ドライバーはDateTimeOffset値をBSONドキュメントとして直列化します。以前のバージョンのドライバーでは、ドライバーはこれらの値をデフォルトでBSON配列として直列化していました。 v 3.0でDateTimeOffset値を配列としてシリアル化するには、フィールドに[BsonRepresentation(BsonType.Array)]属性を適用します。

  • デフォルトのJSON出力モードは Relaxed Extended JSONで、 BSONドキュメントを記述するJSON標準に基づく string形式。緩和型拡張JSONは、型の保存を犠牲にして、読みやすさと相互運用性を重視します。

    別のJSON出力モードを使用するには、新しいJsonWriterSettingsオブジェクトを作成します。このオブジェクトのOutputModeプロパティをJsonOutputMode列挙の値に設定し、ドキュメントを直列化するときにそのオブジェクトをToJson()メソッドに渡します。次のコード例は、 BSONドキュメントを 厳密なJSONに直列化する方法を示しています。

    // Configure JsonWriterSettings
    var jsonWriterSettings = new JsonWriterSettings
    {
    OutputMode = JsonOutputMode.Strict
    };
    // Serialize the document to JSON using the configured settings
    var json = document.ToJson(jsonWriterSettings);
  • MongoClientコンストラクターは、配列ではなく 1 つのCredentialオブジェクトのみを受け入れます。

  • Amazon Web Services (AWS)認証を使用するには、プロジェクトにMongoDB.Driver.Authentication.AWSパッケージを追加し、アプリケーションのブートストラップ コードに認証プロバイダを登録する必要があります。 .NET/ C#ドライバーでAWS認証を使用する方法の詳細については、「 MONGODB- AWS」を参照してください。

  • 使用中の暗号化を使用するには、プロジェクトにMongoDB.Driver.Encryptionパッケージを追加し、アプリケーションのブートストラップ コードに暗号化メカニズムを登録する必要があります。 .NET/ C#ドライバーで使用中の使用中の暗号化する方法の詳細については、 MongoDB Serverマニュアルの「 使用中の使用中の暗号化」を参照してください。

  • 浮動小数点のInfinity またはNaN の値を整数表現に直列化または逆直列化しようとすると、ドライバーはOverflowException をスローします。浮動小数点のInfinityNaN 値の詳細については 、Double. NaN、 Double.positionInfinity、 Double. NegativeInfinity (MSDN の場合)。

  • ドライバーには、 BsonValueクラスに対する次の変更が含まれています。

戻る

バージョン2 .x にアップグレード