En esta guía, aprenderá a configurar una aplicación para usar el proveedor principal de MongoDB Entity Framework. Para aprender a configurar un nuevo proyecto e instalar el proveedor principal de EF, consulte Inicio rápido.
Crea un POCO
Crear un(a) Objeto CLR/Clase simple, o POCO, para usar como modelo de tu entidad. Un POCO es un objeto de clase simple que no hereda funcionalidades de ninguna clase base o interfaz específica de un framework.
El siguiente ejemplo de código muestra cómo crear un POCO que represente a un cliente:
public class Customer { public ObjectId Id { get; set; } public string Name { get; set; } = null!; public string Order { get; set; } = null!; }
Tip
Para obtener más información sobre los POCO, consulta la guía de POCO en la documentación del controlador .NET/C# .
Crear una clase de contexto de base de datos
Para comenzar a utilizar Entity Framework Core, crea una clase de contexto que derive de DBContext. El DbContext la instancia de clase derivada representa una sesión de base de datos y se utiliza para query y guardar instancias de tus entidades.
La clase DBContext expone propiedades DBSet que especifican las entidades con las que puedes interactuar mientras usas ese contexto.
El siguiente ejemplo crea una instancia de una clase derivada DBContext y especifica el objeto Customer como una propiedad DBSet:
public class MyDbContext : DbContext { public DbSet<Customer> Customers { get; init; } = null!; public MyDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Customer>().ToCollection("customers"); } }
El ejemplo de código anterior anula el método OnModelCreating(). Anular el método OnModelCreating() permite especificar detalles de configuración para el modelo y sus propiedades. Este ejemplo utiliza el método ToCollection() para especificar que las entidades Customer de la aplicación se asignen a la colección customers de MongoDB.
Usa MongoDB
Una vez que hayas creado una clase DBContext, construye un objeto DbContextOptionsBuilder y llama a su método UseMongoDB(). Este método toma dos parámetros: una instancia MongoClient y el nombre de la base de datos que almacena las colecciones con las que está trabajando.
El método UseMongoDB() devuelve un objeto DbContextOptions. Pasa la propiedad Options de este objeto al constructor de la clase DBContext.
El siguiente ejemplo muestra cómo construir un objeto DBContext de esta forma:
var mongoClient = new MongoClient("<Your MongoDB Connection URI>"); var dbContextOptions = new DbContextOptionsBuilder<MyDbContext>().UseMongoDB(mongoClient, "<database name>"); var db = new MyDbContext(dbContextOptions.Options);
Tip
Creando un MongoClient
Puedes llamar a los métodos del controlador MongoDB .NET/C# cuando uses el proveedor de EF Core. El ejemplo anterior utiliza el método MongoClient() del controlador .NET/C# para crear un cliente de MongoDB que se conecta a una instancia de MongoDB.
Para obtener más información sobre cómo usar el driver MongoDB .NET/C# para conectarse a MongoDB, consulta la Guía de conexión en la documentación del driver .NET/C# .
Ejemplo
El siguiente ejemplo de código muestra cómo configurar el proveedor EF Core e insertar un documento en la base de datos:
var mongoClient = new MongoClient("<Your MongoDB Connection URI>"); var dbContextOptions = new DbContextOptionsBuilder<MyDbContext>().UseMongoDB(mongoClient, "<database name>"); var db = new MyDbContext(dbContextOptions.Options); // Add a new customer and save it to the database db.Customers.Add(new Customer() { Name = "John Doe", Order = "1 Green Tea" }); db.SaveChanges();