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)]