Docs Menu
Docs Home
/ /

Analizar POCO

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#.

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
{
[BsonId]
public int OrderNumber { get; set; }
[BsonElement("customer_id")]
public int CustomerId { get; set; }
public string Date { get; set; }
[BsonIgnore]
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.

Para obtener una vista previa de sus POCO en Visual Studio, realice las siguientes acciones:

  1. Instale el analizador de C# como se describe en Instalar la guía del analizador C# de MongoDB.

  2. Definir una clase POCO.

  3. 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:

Captura de pantalla de la definición de POCO con una anotación de puntos suspensivos en Visual Studio
Captura de pantalla de la definición de POCO con un mensaje de información mostrado en Visual Studio

Tip

ID de regla

El mensaje de información comienza con el ID de regla del Analizador de C# que generó el popup. En el ejemplo anterior, el ID de regla es MAPoco1001, lo que indica que el POCO es válido. Para obtener más información sobre esta regla, consulta la guía Reglas y contenido del mensaje.

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
{
[BsonTimeSpanOptions(representation: BsonType.Array, Units = MongoDB.Bson.Serialization.Options.TimeSpanUnits.Hours)]
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:

Captura de pantalla de la advertencia que se muestra en Visual Studio desde un POCO no compatible.

Tip

Panel de lista de errores

Si está utilizando Visual Studio para Windows, puede ver la salida del Analizador de C# en la ventana Lista de errores.

Para obtener más información, consulte Ventana de lista de errores de Microsoft.

Volver

Expresiones LINQ

En esta página