我有一个类User
,我需要在Web服务中使用它们。MongoDB C#:ID序列化最佳模式
那么问题是,如果我试图序列Id
那就是BsonObjectId
类型,我看到 有一个空的属性时,有一个空的财产,等等...
我写这篇文章的解决方法为什么这是一个很好的解决方案?
public partial class i_User
{
[BsonId(IdGenerator = typeof(BsonObjectIdGenerator))]
[NonSerialized]
public BsonObjectId _id;
public String Id
{
get
{
return this._id.ToString();
}
}
}
这样,我可以让_Id
为BsonObjectId
,但我在物业Id
发送一个字符串表示在网上。
另一种解决方案是StringObjectIdGenerator
public partial class i_User
{
[BsonId(IdGenerator = typeof(StringObjectIdGenerator))]
public String id;
}
工作,但被发现的MongoDB会string
存储到数据库,而不是ObjectId
。
为了在像Web服务和/或客户端服务器(Flash + C#)这样的序列化环境中工作,最佳方法是什么?
谢谢!如果可以的话,我会为你投票两次;) – Doobi
你刚刚保存了我的一天 – emreturan
花了2个小时打了一个webapi响应,它不会序列化原始ObjectId。这节省了我大概2个小时 –