2017-01-27 3 views
1

두 필드가있는 문서가 있습니다. namedocuments.C# SDK를 사용하여 읽기 (비 직렬화)시 필드 무시

필자는 쓰기 도중 두 필드를 serialize하여 내 컬렉션에 삽입하려고합니다.

public class EmployeeDocument 
{ 
    [BsonElement("name")] 
    public string Name { get; set; } 

    [BsonElement("documents")] 
    public List<string> Documents { get; set; } 
} 

가 어떻게이를 수 :하지만, 나는 여기에

엔티티 클래스입니다, (나는이 필드는 null와 행복) 읽는 동안 직렬화 할 documents 싶지 않아?

답변

1

역 직렬화를 위해 속성을 무시할 수는 없지만 직렬화에는 사용할 수 없다고 생각합니다. 그리고 나는 이것이 최선의 방법이 아니라고 생각합니다.

var emps = db.GetCollection<EmployeeDocument>("empl"); 
var employees =emps.Find(x=>true) 
      .Project(Builders<EmployeeDocument>.Projection.Exclude(x=>x.Documents)) 
      .ToList() 
      .Select(x=>BsonSerializer.Deserialize<EmployeeDocument>(x)); 
: 문서에서 모든 속성을 읽으려면 같은 EmployeeDocument 클래스를 갖고 싶어보다 경우 , 당신은 당신이 그것에 BsonDocument는, 내가 좋아하는 뭔가를 의미하여 직렬화 수, 프로젝션에 그들을 제외 할 수 있습니다
관련 문제