Esta página contiene preguntas frecuentes y sus respuestas correspondientes.
Tip
Si no puede encontrar una respuesta a su problema en esta página, consulte la Página deproblemas y ayuda para conocer los próximos pasos y más recursos.
¿Cuál es la diferencia entre el controlador .NET/C# y el proveedor EF Core?
El El controlador MongoDB.NET/C# es una biblioteca que expone la funcionalidad de MongoDB directamente e incluye un proveedor LINQ con proyecciones, operaciones de grupo y mapeo flexible. El controlador incluye características como las siguientes:
Transacciones
Operaciones a granel
Consultas LINQ
Operaciones que modifican directamente la base de datos
Operaciones de agregación
Mapeo personalizado
El proveedor EF Core permite el uso de Entity Framework Core de Microsoft con MongoDB en las aplicaciones .NET/C#. El proveedor EF Core es compatible con el seguimiento de cambios, operaciones LINQ basadas en entidades y modelado familiar para los usuarios de Entity Framework Core. El proveedor incluye funcionalidades como las siguientes:
Seguimiento inteligente de objetos
Operaciones LINQ basadas en entidades
Modelado y mapeo de Entity Framework con la API fluida
Actualizaciones automáticas de la base de datos a través del seguimiento de cambios
¿Cómo puedo administrar índices con el proveedor EF Core?
Puede crear índices con el proveedor EF Core llamando al HasIndex()
en el OnModelCreating() método de la DbContext clase. Para obtener más información sobre cómo crear índices con el proveedor principal de EF, consulte la guía de índices.
Dado que el proveedor EF Core está construido sobre el driver .NET/C#, también puede gestionar índices en la aplicación utilizando directamente el driver .NET/C#. Para utilizar métodos de driver en la aplicación de proveedor EF Core, llámelos en el MongoClient utilizado para configurar su DbContext.
El siguiente ejemplo crea índices en la colección movies mediante métodos del controlador .NET/C#:
using MongoDB.Driver; var client = new MongoClient("<connection string>"); var database = client.GetDatabase("sample_mflix"); await CreateIndexesAsync(database); async Task CreateIndexesAsync(IMongoDatabase database) { var moviesIndex = new CreateIndexModel<Movie>(Builders<Movie>.IndexKeys .Ascending(x => x.Title) .Ascending(x => x.Genres)); await database.GetCollection<Movie>("movies") .Indexes.CreateOneAsync(moviesIndex); }
Para aprender más sobre la creación de índices usando el driver, consulta la Guía de índices en la documentación del controlador MongoDB .NET/C#.