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

버전 3.0으로 업그레이드

이 페이지의 내용

  • 개요
  • 업그레이드 방법
  • 버전 3.0 호환성이 손상되는 변경

이 페이지에서는 .NET/ C# 드라이버 를 버전 3.0으로 업그레이드 할 때 애플리케이션 에 적용해야 할 변경 사항에 대해 설명합니다.

이 페이지에는 .NET/ C# 드라이버 버전 3.0에 의해 도입된 잠재적인 호환성이 손상되는 변경이 나열되어 있습니다. .NET/ C# 드라이버 를 버전 3.0 으로 업그레이드 하려면 다음 단계를 따르세요.

  1. 호환성 페이지를 검토하여 새 운전자 버전이 애플리케이션 이 연결되는 MongoDB Server 버전 및 애플리케이션 이 실행되는 .NET 또는 .NET 프레임워크 버전과 호환되는지 확인합니다.

  2. .NET/ C# 드라이버 의 2.x 버전을 사용하는 경우 v2.30 로 업그레이드 합니다. 이렇게 하려면 v2.x 업그레이드 가이드 를 따르세요.

  3. 버전 3.0 호환성이 손상되는 변경 섹션에 설명된 호환성이 손상되는 변경을 해결합니다.

    예시

    운전자 를 v2.14 에서 v3.0 로 업그레이드하는 경우 먼저 v2.x 업그레이드 가이드 를 참조하여 운전자 를 v2.30으로 업그레이드 합니다. 그런 다음 v3.0 에 대한 모든 호환성이 손상되는 변경을 주소 합니다.

  • 운전자 는 MongoDB Server v3.6 및 이전 버전에 대한 지원 을 중단합니다. MongoDB Server 를 v4.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 버전 간의 호환성에 학습 보려면 호환성 페이지를 방문하세요.

  • 운전자 는 레거시 v1.x를 구현하는 mongocsharpdriver NuGet 패키지 를 제거합니다. 운전자 버전 2.x의 API . v1.x를 사용하는 경우 API 를 사용하려면 새 API 마이그레이션 해야 합니다.

  • v2.30 에서 더 이상 사용되지 않는 MongoDB.Driver.Core 네임스페이스 의 클래스, 메서드 및 속성은 internal 로 표시됩니다. 운전자 가 더 이상 사용되지 않는 클래스, 메서드 또는 속성 에 대한 대체품을 제공하는 경우 v2.30 의 컴파일러 메시지에 이를 표시합니다.

  • 이전 버전의 운전자 에서 더 이상 사용되지 않는 MongoDB.Bson 네임스페이스 의 메서드, 속성 및 생성자가 제거되었습니다. 운전자 가 더 이상 사용되지 않는 메서드, 속성 또는 생성자를 대체하는 기능을 제공하는 경우 v2.30 의 컴파일러 메시지에 이를 표시합니다.

  • 운전자 가 MONGODB-CR 인증 메커니즘 에 대한 지원 을 중단합니다. .NET/ C# 드라이버 에서 인증 을 구성하는 방법에 학습 보려면 인증 메커니즘을 참조하세요.

  • 이 운전자 는 대부분의 다른 LINQ 제공자가 사용하는 패턴 에 따라 IMongoQueryable 인터페이스를 IQueryable 인터페이스로 대체합니다. 애플리케이션 에 IMongoQueryable 에 대한 참조가 포함된 경우 이를 IQueryable 로 바꿉니다.

  • 운전자 가 ClusterBuilder.ConfigureSdamLogging() 메서드를 제거합니다. 애플리케이션 에서 로깅을 구성하려면 로깅 가이드 를 참조하세요.

  • LINQ2 제공자 가 이 버전의 운전자 에서 제거되었습니다. 모든 LINQ 쿼리에 LINQ3 를 사용해야 합니다.

    클라이언트 사이드 프로젝션을 사용하는 쿼리는 기본값 ExpressionNotSupportedException 오류를 발생시킵니다. 클라이언트 사이드 프로젝션을 활성화 하려면 TranslationOptions 객체 의 EnableClientSideProjections 속성 을 true 로 설정하다 합니다. 이 TranslationOptions 객체 를 AggregateOptions 또는 FindOptions 객체 에 전달하여 단일 쿼리 에 대해 클라이언트 사이드 프로젝션을 활성화 하거나 MongoClientSettings 객체 에 전달하여 애플리케이션 의 모든 쿼리에 대해 클라이언트 사이드 프로젝션을 활성화 있습니다.

  • 이전 버전의 .NET/ C# 드라이버 는 두 가지 GUID 표현 모드를 지원했습니다. 버전 3.0에서는 GuidRepresentationMode.V3 가 유일하게 지원되는 모드 입니다. 이 변경 사항은 운전자 에 다음과 같은 영향을 미칩니다.

    • BsonBinaryData(Guid) 생성자가 제거되었습니다. GUID에서 BsonBinaryData 객체 를 구성하려면 BsonBinaryData.Create(Guid, GuidRepresentation) 생성자를 사용합니다.

    • BsonBinaryData.GuidRepresentation 속성 이 제거되었습니다.

    • 4 하위 유형의 BsonBinaryData 객체에서만 BsonBinaryData.ToGuid() 메서드를 호출할 수 있습니다. 객체 에 다른 하위 유형이 있는 경우 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 값으로 직렬화했습니다. v 에서 decimal 또는 Decimal128 값을 문자열로 string 3.0 직렬화하려면, 필드 에 [BsonRepresentation(BsonType.String)] 속성을 적용 합니다.

    직렬화 중 BSON types 지정에 학습 보려면 POCO 페이지의 사용자 지정 직렬화 섹션을 참조하세요.

  • 기본값 운전자 는 DateTimeOffset 값을 BSON 문서로 직렬화합니다. 이전 버전의 운전자 에서는 기본값 으로 운전자 가 이러한 값을 BSON 배열로 직렬화했습니다. v3.0 에서 DateTimeOffset 값을 배열 로 직렬화하려면 다음을 수행합니다. 필드 에 [BsonRepresentation(BsonType.Array)] 속성을 적용 합니다.

  • 기본값 JSON JSON 출력 모드 는 Relaxed Extended JSON JSON 으로, BSON string JSON BSON 문서를 설명하는 JSON 표준을 기반으로 하는 문자열 형식입니다. 완화된 확장 JSON 은 유형 보존을 희생하는 대신 가독성과 상호 운용성을 강조합니다.

    다른 JSON 출력 모드 를 사용하려면 새 JsonWriterSettings 객체 를 만듭니다. 이 객체 의 OutputMode 속성 을 JsonOutputMode 열거형 의 값으로 설정한 다음 문서 를 직렬화할 때 객체 를 ToJson() 메서드에 전달합니다. 다음 코드 예시 에서는 BSON 문서 를 Strict 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 생성자는 배열 대신 하나의 Credential 객체 만 허용합니다.

  • AWS( Amazon Web Services ) 인증 을 사용하려면 MongoDB.Driver.Authentication.AWS 프로젝트 에 패키지 를 추가하고 애플리케이션의 부트스트랩 코드에 인증 제공자 를 등록해야 합니다. .NET/ C# 드라이버 에서 AWS 인증 을 사용하는 방법에 학습 보려면 AWS ID 및 액세스 관리를 참조하세요.

  • 사용 중 암호화 를 사용하려면 프로젝트 에 MongoDB.Driver.Encryption 패키지 를 추가하고 애플리케이션의 부트스트랩 코드에 암호화 메커니즘을 등록해야 합니다. .NET/ C# 드라이버 에서 사용 중 암호화 를 사용하는 방법에 학습 보려면 MongoDB Server 매뉴얼에서 사용 중 사용 중 암호화 를 참조하세요.

  • 부동 소수점 Infinity 또는 NaN 값을 정수 표현으로 직렬화하거나 역직렬화하려고 하면 운전자 에서 OverflowException 이(가) 발생합니다. 부동 소수점 및 값에 학습 보려면 Infinity NaN Double.NaN, Double.PositiveInfinityDouble.NegativeInfinity를 참조하세요. MSDN에서.

  • 운전자 에는 BsonValue 클래스에 대한 다음과 같은 변경 사항이 포함되어 있습니다.

  • 운전자 가 에서개별 클러스터 이벤트를 MongoClient.Cluster 제거합니다. 클러스터 이벤트를 수신하려면 ClusterBuilder.Subscribe()를 사용합니다.

돌아가기

버전 2.x