У меня есть класс User
, и мне нужно работать с ними в веб-службах.
Тогда проблема в том, что если я попытаюсь сериализовать 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
.
Каков наилучший подход для работы в среде сериализации, такой как веб-сервисы и / или клиент-сервер (Flash+ C #)?