Overview
Los objetos CLR tradicionales, u objetos de clase tradicionales (POCO), son objetos de clase simples que no heredan características de ninguna clase base ni interfaz específica del framework. Si su aplicación usa POCO, puede usar el Analizador de C# para previsualizarlos como objetos JSON.
Para obtener más información sobre los POCO, consulte el Página de POCO en Wikipedia y página Trabajar con POCO en la documentación del controlador .NET/C#.
Vista previa como JSON
El siguiente ejemplo de código muestra una definición de clase POCO y su correspondiente traducción JSON. Al previsualizar sus POCO en JSON, puede ver cómo funcionan los atributos de serialización BSON, como BsonId y BsonElement, cambian la forma del BSON resultante durante la serialización.
class Order { [] public int OrderNumber { get; set; } [] public int CustomerId { get; set; } public string Date { get; set; } [] public string Email { get; set; } }
{ "_id": 6783456, "customer_id": 678234, "Date": "06/03/2023" }
Tip
Datos de muestra
El Analizador de C# incluye valores de muestra predefinidos para ciertos nombres de propiedades comunes. Si utiliza estos nombres de propiedad en su POCO, el Analizador utiliza los valores de muestra en la salida JSON. Para cualquier nombre de propiedad sin valores de muestra predefinidos, el Analizador utiliza un valor aleatorio que coincide con el tipo de dato de la propiedad.
Para obtener una lista de nombres de propiedades con valores de muestra, consulte el archivo de valor de muestra JSON en el repositorio de GitHub de MongoDB C# Analyzer.
Vista previa de POCO en Visual Studio
Para obtener una vista previa de sus POCO en Visual Studio, realice las siguientes acciones:
Instale el analizador de C# como se describe en Instalar la guía del analizador C# de MongoDB.
Definir una clase POCO.
Mueva el cursor sobre el ... anotación de puntos suspensivos debajo de la primera palabra de la definición de su clase para mostrar un mensaje de información que contiene la traducción JSON.
Haz clic en la siguiente pestaña correspondiente para ver una definición de clase POCO con o sin un mensaje informativo mostrado:
POCO no compatibles
Si la configuración de serialización de POCO no está configurada correctamente, el analizador de C# genera una advertencia MAPOCO2001.
El siguiente snippet contiene un POCO que utiliza el atributo [BsonTimeSpanOptions] en una propiedad con el tipo de dato bool:
public class NotSupportedPoco { [] public bool InStock { get; set; } }
La siguiente captura de pantalla muestra el código anotado y la advertencia que se muestra cuando pasa el cursor sobre la anotación:


