如何将 MongoDb Serializer 设置为内部对象属性

问题描述 投票:0回答:1

MongoDb 是否可以使用 ClassMap 为 POCO 类中的 C# 内部对象 DataTime 属性设置 DateTimeSerializer,而不使用 BsonDateTimeOptions 属性?

示例:

public class Entity
{
    public string Id { get; init; }
    
    public string Currency { get; init; }
    
    public IEnumerable<InnerEtity> InnerEtities { get; init;}
}
        
public class InnerEtity
{
    //Don't want to use this attribute
    [BsonDateTimeOptions(DateOnly = true)]
    public DateTime Date { get; set; }
        
    public double Value { get; set; }
}
c# mongodb .net-core mongodb-.net-driver
1个回答
0
投票

您可以通过以下方式指定序列化选项:

        BsonClassMap.RegisterClassMap<InnerEtity>(classMap =>
        {
            classMap.AutoMap();
            classMap.GetMemberMap(c => c.Date).SetSerializer(new DateTimeSerializer(dateOnly: true));
        });
© www.soinside.com 2019 - 2024. All rights reserved.