У меня есть класс 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 + С#)?