Esta página contiene preguntas frecuentes y sus respuestas correspondientes.
Tip
Si no encuentra una respuesta a su problema en esta página, consulte el Problemas y ayuda página para los siguientes pasos y más recursos.
¿Cuál es la diferencia entre el driver .NET/C# y el proveedor EF Core?
La MongoDB .NET/C# Driver es una librería que expone la funcionalidad de MongoDB directamente e incluye un proveedor LINQ con proyecciones, operaciones de grupo y mapeo flexible. El driver incluye funcionalidades 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 gestionar los índices con el Proveedor de EF Core?
Puede crear índices con el Proveedor EF Core llamando al HasIndex()
método en el método OnModelCreating() de tu clase DbContext. Para obtener más información sobre cómo crear índices con el EF Core proveedor, consulta 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#:
public static async Task CreateIndex() { var client = new MongoClient("<connection string>"); var database = client.GetDatabase("sample_mflix"); 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#.