快速入门
本指南向您展示如何创建使用 EF Core 提供程序连接到MongoDB Atlas 群集的.NET应用程序。 如果您希望使用其他编程语言连接MongoDB ,请参阅我们的官方 MongoDB 驱动程序的MongoDB。
EF Core 提供程序通过将数据映射到.NET对象来简化对MongoDB集群中数据的操作。
MongoDB Atlas 是完全托管的云数据库服务,可在 MongoDB 集群托管数据。 在本指南中,我们将向您介绍 如何开始使用自己的免费(无需信用卡)集群。
请按照以下步骤将 EF Core 提供应用程序连接到MongoDB Atlas 群集。
创建 MongoDB 集群
1
在 Atlas 中设置免费级集群
要设置本快速入门所需的 Atlas 免费集群,请完成MongoDB Atlas 设置指南。
完成Atlas 指南中的步骤后,您已在 中部署了一个新的MongoDB cluster Atlas、一个新的数据库用户以及已加载到集群中的样本数据集。复制缓冲区中还有一个类似于以下内容的连接string :
"mongodb+srv://<username>:<password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
2
设置您的项目
从应用程序查询 MongoDB 集群
1
添加示例代码
打开项目基本目录中名为Program.cs
的文件。 将以下示例代码复制到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/zh-cn/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; } }
2
查询样本数据
在 shell 中运行以下命令。 它应该从样本数据集中打印电影“回到未来”的情节:
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.
提示
如果您的输出为空,请确保已将示例数据集加载到集群中。
完成这些步骤后,您应该有一个有效的实体框架应用程序,它可以连接到MongoDB cluster 、对示例数据运行查询并打印结果。
后续步骤
在快速参考中了解如何使用 EF Core 提供程序执行常见操作。