对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

快速入门

本指南向您展示如何创建使用 EF Core 提供程序连接到MongoDB Atlas 群集的.NET应用程序。 如果您想使用其他编程语言连接MongoDB ,请参阅我们的官方MongoDB驱动程序列表。

EF Core 提供程序通过将数据映射到.NET对象来简化对MongoDB集群中数据的操作。

MongoDB Atlas 是完全托管的云数据库服务,可在 MongoDB 集群托管数据。 在本指南中,我们将向您介绍 如何开始使用自己的免费(无需信用卡)集群。

请按照以下步骤将 EF Core 提供应用程序连接到MongoDB Atlas 群集。

1

要设置本快速入门所需的 Atlas 免费集群,请完成MongoDB Atlas 设置指南。

完成Atlas 指南中的步骤后,您已在 中部署了一个新的MongoDB cluster Atlas、一个新的数据库用户以及已加载到集群中的样本数据集。复制缓冲区中还有一个类似于以下内容的连接string :

"mongodb+srv://<username>:<password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
2

将复制缓冲区中的连接string粘贴到首选文本编辑器中的文件中。 将<username><password>占位符替换为数据库用户的用户名和密码。

将此文件保存到安全位置,以便在下一步中使用。

3

在shell中运行以下代码,将上一步复制缓冲区中的MongoDB连接string保存到环境变量中。 将连接string存储在环境变量中可将档案与源代码分开。 这种分离可以降低共享代码时暴露凭证的可能性。

export MONGODB_URI='<your connection string>'

重要

确保将连接string的 <username><password> 部分替换为数据库用户的用户名和密码。

1

创建一个新目录并使用dotnet new命令初始化项目,如下所示:

mkdir entity-quickstart
cd entity-quickstart
dotnet new console
2

使用dotnet add命令将 EF Core 提供程序作为依赖项添加到项目中。

dotnet add package MongoDB.EntityFrameworkCore
1

打开项目基本目录中名为Program.cs的文件。 将以下示例代码复制到Program.cs中:

public class MflixDbContext : DbContext
{
public DbSet<Movie> Movies { get; init; } = null!;
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
{
[BsonId]
public ObjectId _id { get; set; }
[BsonElement("title")]
public string Title { get; set; } = null!;
[BsonElement("rated")]
public string Rated { get; set; } = null!;
[BsonElement("plot")]
public string Plot { get; set; } = null!;
}
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 提供程序执行常见操作。