Tengo un documento con dos campos; name y documents .
Quiero que ambos campos se serialicen e inserten en mi colección durante la escritura. PERO, no quiero que los documents se deserialicen durante la lectura (estoy feliz de que este campo sea nulo),
Aquí está la clase de entidad:
public class EmployeeDocument { [BsonElement("name")] public string Name { get; set; } [BsonElement("documents")] public List<string> Documents { get; set; } }¿Cómo podría lograr esto?
Creo que no es posible ignorar una propiedad para la deserialización, pero no para la serialización. Y creo que no es el mejor enfoque. Si no desea leer todas las propiedades del documento, puede excluirlas en la proyección, si desea tener la misma clase de EmployeeDocument , puede deserializar su BsonDocument , me refiero a algo como:
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));