本页包含常见问题及其相应解答。
提示
如果在此页面上找不到问题的回答,请参阅问题和帮助页面,了解后续步骤和更多资源。
.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
集合上创建索引:
using MongoDB.Driver; var client = new MongoClient("<connection string>"); var database = client.GetDatabase("sample_mflix"); await CreateIndexesAsync(database); async Task CreateIndexesAsync(IMongoDatabase database) { 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#驱动程序文档中的索引指南。