Tengo una clase User
y necesito trabajar con ellos en servicios web.MongoDB C#: Serialización ID mejor patrón
Entonces problema es que si trato de serializar Id
que es el tipo de BsonObjectId
, veo que tienen una propiedad vacía, que tiene una propiedad vacía, y así sucesivamente ...
tengo escribir esta solución en orden, es una buena solución?
public partial class i_User
{
[BsonId(IdGenerator = typeof(BsonObjectIdGenerator))]
[NonSerialized]
public BsonObjectId _id;
public String Id
{
get
{
return this._id.ToString();
}
}
}
De esta manera, puedo mantener _Id
como BsonObjectId
pero me envíe un representación de cadena a través de Internet en la propiedad Id
.
Otra solución es trabajar con StringObjectIdGenerator
public partial class i_User
{
[BsonId(IdGenerator = typeof(StringObjectIdGenerator))]
public String id;
}
Pero es ver que MongoDB almacenará un string
en base de datos en lugar de ObjectId
.
¿Cuál es el mejor enfoque para trabajar en una serialización ambiental como servicios web y/o un cliente-servidor (Flash + C#)?
¡Gracias! Yo votaría por ti dos veces si pudiera;) – Doobi
me acabas de salvar el día – emreturan
Pasé 2 horas peleando contra una respuesta webapi que no serializaría un ObjectId sin procesar. Esto me ahorró probablemente 2 horas más –