Esta guía le muestra cómo crear una aplicación .NET que utiliza el proveedor de EF Core para conectarse a un clúster de MongoDB Atlas. Si prefiere conectarse a MongoDB con otro lenguaje de programación, consulte nuestra Lista de controladores oficiales de MongoDB.
El proveedor de EF Core simplifica las operaciones con datos en clústeres de MongoDB al mapear los datos a objetos .NET.
MongoDB Atlas es un servicio de base de datos en la nube completamente gestionada que aloja los datos en clústeres de MongoDB. En esta guía, mostramos cómo comenzar con un clúster gratuito (no se necesita tarjeta de crédito).
Sigue estos pasos para conectar tu aplicación del proveedor de EF Core a un clúster de MongoDB Atlas.
Crear un clúster de MongoDB
Configurar un clúster de nivel gratuito en Atlas
Para configurar el clúster gratuito de Atlas requerido para este Quick Start, se debe completar la guía Configuración de MongoDB Atlas.
Después de completar los pasos en la guía de Atlas, tienes un nuevo clúster de MongoDB implementado en Atlas, un nuevo usuario de base de datos y conjuntos de datos de muestra cargados en tu clúster. También tienes una cadena de conexión similar a la siguiente en el búfer de copia:
"mongodb+srv://<username>:<password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
Actualizar los marcadores de posición
Pegue la cadena de conexión del búfer de copia en un archivo de su editor de texto preferido. Reemplace el <username> y <password> marcadores de posición con el nombre de usuario y la contraseña de su usuario de base de datos.
Guarda este archivo en una ubicación segura para usarlo en el siguiente paso.
Añade tu cadena de conexión a una variable de entorno
Ejecuta el siguiente código en tu shell para guardar la cadena de conexión de MongoDB en tu búfer de copia del paso anterior a una variable de entorno. Almacenar tu cadena de conexión en una variable de entorno mantiene tus credenciales separadas de tu código fuente. Esta separación hace que sea menos probable que expongas tus credenciales al compartir tu código.
export MONGODB_URI='<your connection string>'
Importante
Es importante asegurarse de reemplazar las secciones <username> y <password> de la cadena de conexión con el nombre de usuario y la contraseña del usuario de la base de datos.
Configurar el proyecto
Se debe realizar un query en el clúster de MongoDB desde la aplicación
Agrega el código de muestra
Abre el archivo llamado Program.cs en el directorio base de tu proyecto. Copia el siguiente código de muestra en Program.cs:
using Microsoft.EntityFrameworkCore; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; using MongoDB.EntityFrameworkCore.Extensions; var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI"); if (connectionString == null) { Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/es/docs/drivers/csharp/current/quick-start/#set-your-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var db = MflixDbContext.Create(client.GetDatabase("sample_mflix")); var movie = db.Movies.First(m => m.Title == "Back to the Future"); Console.WriteLine(movie.Plot); public class MflixDbContext : DbContext { public DbSet<Movie> Movies { get; init; } public static MflixDbContext Create(IMongoDatabase database) => new(new DbContextOptionsBuilder<MflixDbContext>() .UseMongoDB(database.Client, database.DatabaseNamespace.DatabaseName) .Options); public MflixDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Movie>().ToCollection("movies"); } } public class Movie { [] public ObjectId _id { get; set; } [] public string Title { get; set; } [] public string Rated { get; set; } [] public string Plot { get; set; } }
Consulta los datos de muestra
Ejecuta el siguiente comando en tu shell. Debería imprimir la trama de la película “Regreso al futuro” del conjunto de datos de muestra:
dotnet run entity-quickstart.csproj
A young man is accidentally sent 30 years into the past in a time-traveling DeLorean invented by his friend, Dr. Emmett Brown, and must make sure his high-school-age parents unite in order to save his own existence.
Tip
Si la salida está vacía, es importante asegurarse de haber cargado los conjuntos de datos de muestra en el clúster.
Después de completar estos pasos, deberías tener una aplicación de Entity Framework en funcionamiento que se conecte a tu clúster de MongoDB, ejecute un query sobre los datos de muestra e imprima el resultado.
Próximos pasos
Aprende a usar el proveedor de EF Core para realizar operaciones comunes en la referencia rápida.