Serialize Documents with the C# Driver
5283 단어 Serialize
이 문서는 1.8 버전의 C# 드라이브입니다.
이 단원에서는 C# 클래스와 BSON 문서 간의 서열화 및 반서열화에 대해 다룹니다.서열화는 대상을 몬goDB에 저장할 수 있는 BSON 문서로 비추는 과정이고 반서열화는 한 BSON 문서에서 하나의 대상을 재구성하는 과정이다.이러한 이유로 서열화 과정도 항상 '대상 매핑' 으로 사용된다.
서열화는 BSON 라이브러리를 통해 처리됩니다.BSON 라이브러리는 확장 가능한 서열화 구조를 가지고 있으며, 모든 서열화를 제어할 필요가 있다면 할 수 있습니다.BSON 라이브러리는 대부분의 경우 사용자의 요구에 맞는 기본 서열화를 제공합니다.너는 다양한 방식으로 기본 서열화를 보충해서 너의 특수한 수요를 처리할 수 있다.
기본 서열화 프로세서 처리 서열화의 주요 방식은 "class map"을 통해 처리됩니다.하나의classmap은 클래스와 BSON 문서 사이의 맵을 정의하는 구조입니다.이것은 서열화할 필드와 속성을 포함하고 서열화된 매개 변수를 정의합니다.
기본 서열화기, 내장도 많이 지원합니다.NET 데이터 형식 (기본값, 그룹, 목록, 사전 등) 을 class mas에 지원합니다.
클래스의 실례가 서열화되기 전에classmap이 존재해야 합니다.이classmap을 스스로 정의할 수도 있고, 처음 실행할 때 자동으로 만들 수도 있으며, automapping이라고도 부른다.
2. Class Map 만들기
초기화 코드에 다음과 같이 class map을 만듭니다.
BsonClassMap.RegisterClassMap<MyClass>();
이로 인해 MyClass는 자동으로 매핑되고 등록됩니다.이 예에서 너는3. Maps 만들기
기본적으로 클래스는 0 매개 변수를 포함하는 구조기를 포함해야 합니다. 이것은 실례를 초기화하는 데 사용됩니다.그러나 매개 변수가 속성과 필드에 비치도록 구조기를 설정할 수도 있다.여기에 이런 방법이 하나 있다.
표현식을 사용하여 드라이버를 사용하여 다음과 같이 매핑할 수 있습니다.
public class Person
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}
// snip...
BsonClassMap.RegisterClassMap<Person>(cm =>
{
cm.AutoMap();
cm.MapCreator(p => new Person(p.FirstName, p.LastName));
});
사용 속성:public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
[BsonConstructor]
public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}
여러 개의 구조기가 있을 때, 더욱 일치하는 것을 사용할 것이다.예를 들면 다음과 같습니다.public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime? BirthDate { get; set; }
[BsonConstructor]
public Person(string firstName, string lastName)
{
// snip...
}
[BsonConstructor]
public Person(string firstName, string lastName, DateTime birthDate)
{
// snip...
}
}
만약 데이터베이스에 있는 문서에 BirthData 요소가 있다면, 우리는 3개의 파라미터가 있는 구조기를 사용할 것이다. 왜냐하면 그는 더욱 전문적이기 때문이다.또한
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MFC CArchive Serialize 시리얼화된 클래스 설계 및 사용서열화의 출발점은 한 대상의 현재 상태는 영구적으로 저장될 수 있어야 한다는 것이다. 이러한 현재 상태는 주로 그의 구성원 변수로 표시된다.그리고 이 대상은 파일을 읽거나 역렬로 재구성할 수 있다.서열화는 모든 대상...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.