本页包含常见问题及其相应解答。
提示
如果在此页面上找不到问题的回答,请参阅问题和帮助页面,了解后续步骤和更多资源。
.NET/ C#驱动程序和 EF Core 提供程序之间有什么区别?
MongoDB .NET/C# 驱动程序 是一个直接公开MongoDB功能的库,并包括具有投影、群组操作和灵活映射功能的 LINQ提供商。该驱动程序包含以下功能:
事务
批量操作
LINQ 查询
直接修改数据库的操作
聚合操作
自定义映射
EF Core 提供程序允许您在.NET/ C#应用程序中将 Microsoft 的 Entity Framework Core 与MongoDB结合使用。 EF Core 提供程序支持变更跟踪、基于实体的 LINQ 操作以及 Entity Framework Core 用户熟悉的建模。 该提供商包括以下功能:
智能对象跟踪
基于实体的 LINQ 操作
使用 Fluent API进行实体框架建模和映射
通过变更跟踪自动更新数据库
如何使用 EF Core 提供程序管理索引?
您可以通过调用 DbContext 类的 OnModelCreating() 方法中的 HasIndex() 方法,使用 EF Core 提供程序创建索引。要详细学习;了解如何使用 EF Core 提供程序创建索引,请参阅 索引 指南。
由于 EF Core 提供商构建在 .NET/C# 驱动程序之上,因此您还可以直接使用 .NET/C# 驱动程序管理应用程序中的索引。要在 EF Core 提供商应用程序中使用驱动程序方法,请在用于设立DbContext 的 MongoClient 上调用这些方法。
以下示例使用.NET/ C#驱动程序方法在 movies集合上创建索引:
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); }
要学习有关使用驱动程序创建索引的更多信息,请参阅MongoDB .NET/C#驱动程序文档中的索引指南。