C# 将MongoDB的Guid序列化为BsonString而不是BinData?
我有一个具有以下属性的类C# 将MongoDB的Guid序列化为BsonString而不是BinData?,c#,mongodb,serialization,C#,Mongodb,Serialization,我有一个具有以下属性的类 [BsonId] public Guid EventId { get; private set; } 我想使用ToBsonDocument方法将具有此属性的类序列化(并反序列化)到MongoDB。虽然通过使用默认序列化程序,\u id字段的结果BSON类型是 "_id" : BinDate(3, "wX9ZnP0ApEWF0d5aXLgiUA==") 我希望它存储为BsonString。我计划在将来创建一个自定义的SerializerBase扩展类,以便将字符串正确
[BsonId]
public Guid EventId { get; private set; }
我想使用ToBsonDocument
方法将具有此属性的类序列化(并反序列化)到MongoDB。虽然通过使用默认序列化程序,\u id
字段的结果BSON类型是
"_id" : BinDate(3, "wX9ZnP0ApEWF0d5aXLgiUA==")
我希望它存储为BsonString
。我计划在将来创建一个自定义的SerializerBase
扩展类,以便将字符串正确地反序列化回Guid
我还没有到达那里
我知道我可以简单地将我的属性更改为字符串
[BsonId]
public String EventId { get; private set; }
但我想将其保留为
Guid
。我认为要解决我的问题,我需要使用一个序列化标记,但我不确定是哪一个,有什么想法吗?事实上,在我发布这个问题后,我设法找到了我的答案
通过使用标记BsonRepresentation
,我可以指定在序列化数据时希望MongoDB使用的BSON数据类型
[BsonRepresentation(BsonType.String)]
事实上,在我发布这个问题之后,我设法找到了我的答案 通过使用标记
BsonRepresentation
,我可以指定在序列化数据时希望MongoDB使用的BSON数据类型
[BsonRepresentation(BsonType.String)]