Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Reglas y contenido del mensaje

En esta guía, aprenderá sobre las reglas del analizador de C# de MongoDB y los mensajes adjuntos. Una regla evalúa diferentes partes de su código y devuelve un mensaje si se cumple una condición específica.

Por ejemplo, el Analizador podría aplicar una regla si detecta una expresión LINQ, lo que hace que su IDE muestre un mensaje que contiene la expresión de Query API equivalente. Cada regla tiene un nivel de gravedad de Info u Warning que afecta dónde podría registrarse el mensaje.

Las siguientes secciones describen cada regla de C# Analyzer, incluyendo su categoría, nivel de gravedad y descripción del mensaje correspondiente. Cada sección también incluye un mensaje de ejemplo.

La regla MABuilders1001 evalúa su código en busca de expresiones de generadores y activa un mensaje que contiene la expresión de API de consulta equivalente.

Categoría

MongoDB.Analyzer.Builders

Gravedad

Info

notas

Ninguno

El siguiente código activa la regla MABuilders1001 para mostrar un mensaje que muestra la expresión de API de consulta equivalente:

var filter = Builders<Book>.Filter.Eq(b => b.Genre, "Theory") &
Builders<Book>.Filter.Gte(b => b.Price, 10);

La siguiente imagen muestra la regla MABuilders1001 y un mensaje de información:

Captura de pantalla de la expresión del generador con el mensaje de regla MABuilders1001

Tip

Para aprender más sobre desarrolladores expresiones, consulta el Guía deanálisis de expresiones de constructores.

La regla MABuilders2001 detecta expresiones de desarrolladores no soportadas y muestra un error de traducción de la expresión no soportada.

Categoría

MongoDB.Analyzer.Builders

Gravedad

Warning

notas

Para ver ejemplos de expresiones de desarrolladores no admitidos, consulta archivos de prueba del código fuente.

El siguiente código activa la regla MABuilders2001 para mostrar un mensaje que muestre la expresión de desarrolladores no compatible:

var filter = Builders<Book>.Filter.Eq(b => b.Price + 2, 1);

La siguiente imagen muestra la regla MABuilders2001 y un mensaje de información:

Captura de pantalla de la expresión del desarrolladores con el mensaje de regla MABuilders2001

Tip

Para obtener más información sobre las expresiones de desarrolladores, consulta la guía Analizar expresiones de desarrolladores.

La regla MALinq1001 evalúa tu código en busca de expresiones LINQ y activa un mensaje que contiene la expresión equivalente de la API de Query.

Categoría

MongoDB.Analyzer.LINQ

Gravedad

Info

notas

Esta regla puede aplicarse de manera diferente según el valor de tu configuración DefaultLinqVersion. Para obtener más información, consulta las Opciones de Configuración del Analizador.

El siguiente código activa la regla MALinq1001 para mostrar un mensaje que muestra la expresión de API de consulta equivalente:

var results = queryableColl
.Where(b => b.Genre == "Theory")
.OrderBy(b => b.Price);

La siguiente imagen muestra la regla MALinq1001 y un mensaje de información:

Captura de pantalla de la expresión LINQ con el mensaje de regla MALinq1001

Tip

Para obtener más información sobre las expresiones LINQ, consulta la guía Analizar expresiones LINQ.

La regla MALinq2001 detecta expresiones LINQ no soportadas y muestra un error de traducción de la expresión no soportada.

Categoría

MongoDB.Analyzer.LINQ

Gravedad

Warning

notas

This rule might apply differently depending on the value of
your DefaultLinqVersion configuration setting. To learn more,

To view examples of unsupported LINQ expressions, see the

El siguiente código activa la regla MALinq2001 para mostrar un mensaje que muestra la expresión LINQ no admitida:

var results = queryableColl.Where(b => b.GetHashCode() == 1);

La siguiente imagen muestra la regla MALinq2001 y un mensaje de información:

Captura de pantalla de la expresión LINQ con el mensaje de la regla MALinq2001

Tip

Para obtener más información sobre las expresiones LINQ, consulta la guía Analizar expresiones LINQ.

La regla MAPoco1001 evalúa tu código para las declaraciones de POCO y activa un mensaje que contiene la representación JSON de una instancia de ejemplo. Esta regla evalúa algunas anotaciones de serialización BSON, como BsonIgnore y BsonElement.

Categoría

MongoDB.Analyzer.Poco

Gravedad

Info

notas

Esta regla puede aplicarse de manera diferente según el valor de tu configuración PocoAnalysisVerbosity. Para obtener más información, consulta las Opciones de Configuración del Analizador.

El siguiente código activa la regla MAPoco1001 para mostrar un mensaje que muestra la representación en JSON de un POCO de muestra:

public class Person
{
[BsonId]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
[BsonIgnore]
public double Income { get; set; }
}

La siguiente imagen muestra la regla MAPoco1001 y un mensaje de información:

Captura de pantalla de la expresión del generador con el mensaje de la regla MAPoco1001

Tip

Para obtener más información sobre el análisis POCO, consulta la guía Analizar POCOs.

Para obtener más información sobre las anotaciones POCO, consulta la guía POCOs en la documentación del controlador .NET/C#.

La regla MAPoco2001 evalúa tu código en busca de configuraciones de serialización no admitidas especificadas en una declaración POCO.

Categoría

MongoDB.Analyzer.Poco

Gravedad

Warning

notas

This rule might apply differently depending on the value of
your PocoAnalysisVerbosity configuration setting. To learn more,

To view examples of unsupported POCO declarations, see the

El siguiente código activa la regla MAPoco2001 para mostrar un mensaje que explica que el código incluye una configuración de serialización no válida en el campo Date:

public class Appointment
{
[BsonDateTimeOptions(DateOnly = true, Kind = DateTimeKind.Local)]
public decimal Date { get; set; }
public string Doctor { get; set; }
}

La siguiente imagen muestra la regla MAPoco2001 y un mensaje de información:

Captura de pantalla de la expresión del creador con el mensaje de regla MAPoco2001

Tip

Para obtener más información sobre el análisis POCO, consulta la guía Analizar POCOs.

Para obtener más información sobre las anotaciones POCO, consulta la guía POCOs en la documentación del controlador .NET/C#.

Volver

POCOs

En esta página