Overview
Un generador es una clase proporcionada por el controlador .NET/C# para ayudarle a construir operaciones comunes como consultas y actualizaciones.
Para obtener más información sobre los constructores, consulte Operaciones con constructores en la documentación del controlador .NET/C#.
Traducir a la API de consulta de MongoDB
Utilice el Analizador de C# para traducir sus expresiones de constructor a la API de consultas de MongoDB. Haga clic en las siguientes pestañas para ver un ejemplo de una expresión de constructor y su traducción correspondiente a la API de consultas de MongoDB:
var filter = Builders<Book>.Filter.Eq(b => b.Genre, genre) & Builders<Book>.Filter.Gte(b => b.Price, minPrice) & Builders<Book>.Filter.Regex(b => b.Title, titleSearchTerm);
{ "$and": [ { "Genre": genre }, { "Price": { "$gte": minPrice } }, { "Title": /titleSearchTerm/ } ] }
Nota
Nombres de variables
Las traducciones de la API de consultas de MongoDB generadas por el Analizador de C# contienen nombres de variables del código del controlador .NET/C#. El controlador .NET/C# reemplaza estos nombres de variables con sus valores correspondientes cuando la aplicación se comunica con MongoDB.
Analizar constructores en Visual Studio
Para analizar las expresiones de su generador en Visual Studio, realice las siguientes acciones:
Instale el analizador de C# como se describe en Guíade instalación.
Escriba una expresión de construcción con el controlador .NET/C#
Mueva el ratón sobre el ... anotación debajo del primer método de su expresión de generador para mostrar un mensaje de información que contiene la traducción de la API de consulta de MongoDB.
Expresiones del constructor simple
Haga clic en la siguiente pestaña correspondiente para ver una expresión de generador con o sin un mensaje de información mostrado:
Variables del generador de pistas
El Analizador de C# admite el seguimiento y la composición de variables de constructor. Puede combinar varias expresiones de constructor con operadores lógicos y ver la traducción de la API de consultas de MongoDB en el mensaje de información.
Haga clic en la siguiente pestaña correspondiente para ver una variable de generador compuesta con o sin un mensaje de información mostrado:
API fluida
El Analizador de C# es compatible con la API Fluent mediante clases de compilación en el controlador .NET/C#. Puede crear una secuencia de métodos de compilación encadenados y ver la traducción de la API de consulta de MongoDB en el mensaje de información.
Haga clic en la siguiente pestaña correspondiente para ver una operación que utiliza métodos de construcción encadenados con o sin un mensaje de información mostrado:
Expresiones de constructor no compatibles
Si su expresión de generador no es compatible, el analizador de C# genera una
MABuilders2001 advertencia.
El siguiente fragmento de código contiene una expresión de generador que accede a la propiedad Length no compatible:
var filter = Builders<Movie>.Filter.Gt(m => m.Reviews.Length, 2);
El analizador de C# muestra una anotación en la expresión no compatible y genera el siguiente mensaje de advertencia:
Expression not supported: ArrayLength(m.Reviews).
La siguiente captura de pantalla muestra el código anotado y la advertencia que se muestra cuando pasa el cursor sobre la anotación:

Tip
Panel de lista de errores
Para ver más ejemplos de expresiones de generador no compatibles, consulte el repositorio de Github de MongoDB C# Analyzer.





