对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

版本说明

了解以下版本中的新功能:

重要

为确保提供商的主版本号与 Entity Framework Core 版本一致, MongoDB Entity Framework Core 提供程序不限制对主要版本的重大更改。 相反,次要版本中会进行重大更改。

本部分列出了以下版本中引入的更改:

10.0.4提供商发布包括以下更改:

重要

MongoDB实体框架核心提供程序 v10.0.4发布包含对以下安全问题的修复:

有关MongoDB安全更新的最新信息,请参阅MongoDB安全公告。

  • 修复指定数据库名称时生成Queryable Encryption模式的问题

  • 停止记录连接字符串以防止意外泄露

  • 修复了一个 Bare-catch AssertTranslationFailed 掩码包含规范套件中的错误数据

  • 将两个同级引用包含修复为相同的目标实体类型

  • 修复通过相同目标类型的同级 ThenInclude 调用折叠为一个 $lookup

  • 修复了传递 ThenInclude 跃点错误路由到根级诱饵导航的问题

  • 修复多对多联接实体丢失重复影子属性的组合键的问题

  • 修复了 ThenInclude,其键选择器通过拥有的导航到达

  • 修复 Take(0) 抛出 ArgumentOutOfRangeException

  • 修复了数字类型不匹配的 Equals(),会引发 InvalidCastException

  • 将.NET/ C#驱动程序升级到 3.11.2

有关此发布的更多信息,请参阅Github上的v10.0.4发布说明。

10.0.3提供商发布包括以下更改:

重要

MongoDB实体框架核心提供程序 v10.0.3发布包括对 CVE-2026-92756 的修复。

有关MongoDB安全更新的最新信息,请参阅MongoDB安全公告。

  • 添加了对跨集合 Include() 调用、导航和联接的支持

  • 添加了对 LINQ 操作符的支持,例如应用于最终投影中的字符串的 ToArray()、ToList() 和 FirstOrDefault()

  • 支持构建 MongoDB Search 索引

  • 新增对批量 ExecuteUpdate() 和 ExecuteDelete() 操作的支持

  • 将元数据添加到实例化 MongoClient

  • 拒绝自有实体上的并发令牌

  • 修复了投影中联接实体上的阴影或标量 EF.Property() 读取问题

  • 修复了一个 bug,即在与整个实体一起投影时,组合两个属性(例如,c.Age * c.Score)的计算值返回了错误结果。

  • 修复驱动程序 LINQ 鉴别器过滤器以匹配已转换或已表示的值

  • 修复了 MongoOptionsExtension 复制构造函数在链接到 WithCryptProvider() 或 WithQueryableEncryptionSchemaMode() 方法之后时删除 CryptExtraOptions 和 QueryableEncryptionSchemaMode 设置的错误

  • 修复以非查询运算符符结尾的已编译查询

  • 修复了一个错误:在空设立上调用 Sum() 会为可空投影返回 null

  • 修复了在投影标量集合上调用 Contains() 返回不正确结果的错误

  • 将 Entity Framework Core 版本依赖项升级到 10.0.11

有关此发布的更多信息,请参阅Github上的v10.0.3发布说明。

10.0.2提供商发布包括以下更改:

  • 改进 Select() 投影以支持混合字段和实体级别选择

  • 增加对实体之间以及与 null 的比较的支持

  • 重写绑定逻辑,以使其在非常规形状下更加稳健,并更好地支持 Select() 投影

  • 通过对根本的 MongoDB .NET/C# 驱动程序的改进,添加对 String.Replace() 和 String.Compare() 的支持

  • 修复了 HasAtlasIndexes 只检查第一个拥有实体而非所有拥有实体的错误

  • 修复日志消息,报告 ExecutingBulkWrite 为 Executed,但经过时间不正确,并且未包含预期值

  • 修复 Decimal128 和 QueryableEncryptionType 在常用流畅构建者路径上的无效转换

有关此发布的更多信息,请参阅Github上的v10.0.2发布说明。

10.0.1提供商发布包括以下更改:

  • 修复删除项目时保存集合更改的错误

有关此发布的更多信息,请参阅Github上的v10.0.1发布说明。

10.0.0提供商发布包括以下更改:

  • 添加了与 Entity Framework Core v10.0 的兼容性

  • 支持 LINQ 查询中的 EF.Constant 核心辅助程序

  • 编译查询时发出 QueryCompilationStarted日志消息

  • 将鉴别器映射到 _t,除非已显式配置

  • 改进了对不支持的 LINQ 操作和相关错误消息的检测

有关此发布的更多信息,请参阅Github上的v10.0.0发布说明。

本部分列出了以下版本中引入的更改:

9.1.3提供商发布包括以下更改:

  • 添加了对跨集合 Include() 调用、导航和联接的支持

  • 添加了对 LINQ 操作符的支持,例如应用于最终投影中的字符串的 ToArray()、ToList() 和 FirstOrDefault()

  • 支持构建 MongoDB Search 索引

  • 新增对批量 ExecuteUpdate() 和 ExecuteDelete() 操作的支持

  • 将元数据添加到实例化 MongoClient

  • 拒绝自有实体上的并发令牌

  • 修复了投影中联接实体上的阴影或标量 EF.Property() 读取问题

  • 修复了一个 bug,即在与整个实体一起投影时,组合两个属性(例如,c.Age * c.Score)的计算值返回了错误结果。

  • 修复驱动程序 LINQ 鉴别器过滤器以匹配已转换或已表示的值

  • 修复了 MongoOptionsExtension 复制构造函数在链接到 WithCryptProvider() 或 WithQueryableEncryptionSchemaMode() 方法之后时删除 CryptExtraOptions 和 QueryableEncryptionSchemaMode 设置的错误

  • 修复以非查询运算符符结尾的已编译查询

  • 修复了一个错误:在空设立上调用 Sum() 会为可空投影返回 null

  • 修复了在投影标量集合上调用 Contains() 返回不正确结果的错误

  • 将 Entity Framework Core 版本依赖项升级到 9.0.19

有关此发布的更多信息,请参阅Github上的v9.1.3发布说明。

9.1.2提供商发布包括以下更改:

  • 改进 Select() 投影以支持混合字段和实体级别选择

  • 增加对实体之间以及与 null 的比较的支持

  • 重写绑定逻辑,以使其在非常规形状下更加稳健,并更好地支持 Select() 投影

  • 通过对根本的 MongoDB .NET/C# 驱动程序的改进,添加对 String.Replace() 和 String.Compare() 的支持

  • 修复了 HasAtlasIndexes 只检查第一个拥有实体而非所有拥有实体的错误

  • 修复日志消息,报告 ExecutingBulkWrite 为 Executed,但经过时间不正确,并且未包含预期值

  • 修复 Decimal128 和 QueryableEncryptionType 在常用流畅构建者路径上的无效转换

有关此发布的更多信息,请参阅Github上的v9.1.2发布说明。

9.1.1提供商发布包括以下更改:

  • 修复删除项目时保存集合更改的错误

有关此发布的更多信息,请参阅Github上的v9.1.1发布说明。

9.1.0提供商发布包括以下更改:

  • 支持 LINQ 查询中的 EF.Constant 核心辅助程序

  • 编译查询时发出 QueryCompilationStarted日志消息

  • 将鉴别器映射到 _t,除非已显式配置

  • 改进了对不支持的 LINQ 操作和相关错误消息的检测

有关此发布的更多信息,请参阅Github上的 v9.1 发布说明。

本部分列出了以下版本中引入的更改:

9.0.4提供商发布包括以下更改:

  • 添加了对在 LINQ 查询中转换 DateTime.Compare() 方法的支持

  • 将 CreateCollectionOptions 参数添加到 MongoDatabaseCreationOptions 结构中

  • 修复了以下错误:使用 QueryTrackingBehavior.NoTracking 选项时,空BSON集合不会导致空 CLR 集合

  • 修复了 CreateExecutionStrategy().ExecuteInTransaction 方法内部发生的处理异常

  • 添加了对MongoDB .NET/ C#驱动程序v 3.6 的支持

  • 升级到Windows CI 构建的 windows-2022-latest

  • 使用 MongoDB .NET/C# 驱动程序 作为数据类型的单一可信来源

有关此发布的更多信息,请参阅Github上的v9.0.4发布说明。

9.0.3提供商发布包括以下更改:

  • 使用 MongoTransactionManager 和 IMongoTransactionManager 接口添加显式ACID 事务支持

  • 将向量索引创建的默认超时时间从 15 增加到 60 秒,并在系统等待进程完成时进行记录

  • 修复日志记录逻辑,确保禁用敏感数据日志记录时,向量查询警告消息不包含敏感查询详细信息

  • 更新向量索引过滤字段以使用元素名称而不是C#属性名称

有关此发布的更多信息,请参阅Github上的v9.0.3发布说明。

9.0.2提供商发布包括以下更改:

  • 添加对MongoDB Vector Search 的支持。要学习;了解更多信息,请参阅MongoDB Server手册中的MongoDB Vector Search 概述。

  • 将提供商程序约定类公开。

  • 修复了使用 EF.Property() 方法的投影生成 NullReferenceException 错误的错误。

有关此发布的更多信息,请参阅Github上的v9.0.2发布说明。

9.0.1提供商发布包括以下更改:

  • 为Queryable Encryption添加服务器端模式支持和新的 IsEncrypted Fluent API

  • 添加对备用键的支持

  • 允许在实体类型属性具有 ColumnAttribute 属性时抑制异常

  • 通过 EnsureCreated() 方法添加数据库种子设置支持

  • 添加了对映射用作简单属性的简单结构的支持

  • 添加对物化只读属性的支持

  • 添加对作为主节点 (primary node in the replica set)键的卷影属性的支持

有关此发布的更多信息,请参阅Github上的v9.0.1发布说明。

9.0提供商发布包括以下新功能:

  • 8.3发布中还包含的新增功能和更改

  • 将 Entity Framework Core 版本依赖项升级到 9.0

要详细学习;了解9.0 版本中的重大更改,请参阅“9.0.0 版本重大更改”部分。

本部分列出了以下版本中引入的更改:

8.4.3提供商发布包括以下更改:

  • 添加了对跨集合 Include() 调用、导航和联接的支持

  • 添加了对 LINQ 操作符的支持,例如应用于最终投影中的字符串的 ToArray()、ToList() 和 FirstOrDefault()

  • 支持构建 MongoDB Search 索引

  • 将元数据添加到实例化 MongoClient

  • 拒绝自有实体上的并发令牌

  • 修复了投影中联接实体上的阴影或标量 EF.Property() 读取问题

  • 修复了一个 bug,即在与整个实体一起投影时,组合两个属性(例如,c.Age * c.Score)的计算值返回了错误结果。

  • 修复驱动程序 LINQ 鉴别器过滤器以匹配已转换或已表示的值

  • 修复了 MongoOptionsExtension 复制构造函数在链接到 WithCryptProvider() 或 WithQueryableEncryptionSchemaMode() 方法之后时删除 CryptExtraOptions 和 QueryableEncryptionSchemaMode 设置的错误

  • 修复以非查询运算符符结尾的已编译查询

  • 修复了一个错误:在空设立上调用 Sum() 会为可空投影返回 null

  • 修复了在投影标量集合上调用 Contains() 返回不正确结果的错误

  • 将 Entity Framework Core 版本依赖项升级到 8.0.30

有关此发布的更多信息,请参阅Github上的v8.4.3发布说明。

8.4.2提供商发布包括以下更改:

  • 改进 Select() 投影以支持混合字段和实体级别选择

  • 增加对实体之间以及与 null 的比较的支持

  • 重写绑定逻辑,以使其在非常规形状下更加稳健,并更好地支持 Select() 投影

  • 通过对根本的 MongoDB .NET/C# 驱动程序的改进,添加对 String.Replace() 和 String.Compare() 的支持

  • 修复了 HasAtlasIndexes 只检查第一个拥有实体而非所有拥有实体的错误

  • 修复日志消息,报告 ExecutingBulkWrite 为 Executed,但经过时间不正确,并且未包含预期值

  • 修复 Decimal128 和 QueryableEncryptionType 在常用流畅构建者路径上的无效转换

有关此发布的更多信息,请参阅Github上的v8.4.2发布说明。

8.4.1提供商发布包括以下更改:

  • 修复删除项目时保存集合更改的错误

有关此发布的更多信息,请参阅Github上的v8.4.1发布说明。

8.4.0提供商发布包括以下更改:

  • 将鉴别器映射到 _t,除非已显式配置

  • 改进了对不支持的 LINQ 操作的检测和消息传递

  • 始终使用 EF Core 而不是 EF

有关此发布的更多信息,请参阅Github上的v8.4.0发布说明。

本部分列出了以下版本中引入的更改:

8.3.4提供商发布包括以下更改:

  • 添加了对在 LINQ 查询中转换 DateTime.Compare() 方法的支持

  • 将 CreateCollectionOptions 参数添加到 MongoDatabaseCreationOptions 结构中

  • 添加了对MongoDB .NET/ C#驱动程序v 3.6 的支持

  • 修复了以下错误:使用 QueryTrackingBehavior.NoTracking 选项时,空BSON集合不会导致空 CLR 集合

  • 修复了 CreateExecutionStrategy().ExecuteInTransaction 方法内部发生的处理异常

有关此发布的更多信息,请参阅Github上的v8.3.4发布说明。

8.3.3提供商发布包括以下更改:

  • 使用 MongoTransactionManager 和 IMongoTransactionManager 接口添加显式ACID 事务支持

  • 将向量索引创建的默认超时时间从 15 增加到 60 秒,并在系统等待进程完成时进行记录

  • 修复日志记录逻辑,确保禁用敏感数据日志记录时,向量查询警告消息不包含敏感查询详细信息

  • 更新向量索引过滤字段以使用元素名称而不是C#属性名称

有关此发布的更多信息,请参阅Github上的v8.3.3发布说明。

8.3.2提供商发布包括以下更改:

  • 添加对MongoDB Vector Search 的支持。要学习;了解更多信息,请参阅MongoDB Server手册中的MongoDB Vector Search 概述。

  • 将提供商程序约定类公开。

  • 修复了使用 EF.Property() 方法的投影生成 NullReferenceException 错误的错误。

有关此发布的更多信息,请参阅Github上的v8.3.2发布说明。

8.3.1提供商发布包括以下更改:

  • 为Queryable Encryption添加服务器端模式支持和新的 IsEncrypted Fluent API

  • 添加对备用键的支持

  • 允许在实体类型属性具有 ColumnAttribute 属性时抑制异常

  • 通过 EnsureCreated() 方法添加数据库种子设置支持

  • 添加了对映射用作简单属性的简单结构的支持

  • 添加对物化只读属性的支持

  • 添加对作为主节点 (primary node in the replica set)键的卷影属性的支持

有关此发布的更多信息,请参阅Github上的v8.3.1发布说明。

8.3提供商发布包括以下新功能:

  • 添加了对在 PropertiesConfigurationBuilder 上设置BSON表示形式的支持。

  • 添加对 HasDateTimeKind() 的配置级支持。

  • 更改行为以将 HasBsonRepresentation应用可为 null 的属性。要学习;了解详情,请参阅升级提供程序版本指南中的版本 8.3.0重大更改。

  • 更改行为以允许测试导航集合的可为空性。

本部分列出了以下版本中引入的更改:

8.2.3 提供商发布包括以下新功能:

  • 添加了对顶级标量聚合的支持,例如 Sum、Average、Min 和 Max

  • 添加了在使用 _id属性的 string 类型时对 ObjectId 生成的支持

  • 更改了行为,以便在自有集合缺少BSON元素时不再引发错误

8.2.2 提供商发布包括以下新功能:

  • 更新 DbUpdateConcurrencyException 错误消息以包含导致错误的实体类型

  • 添加了对针对可为 null 的属性的值转换器的支持

  • 添加了对在自有实体上使用 HasIndex() 方法的支持

  • 添加对字节大量类型的支持

8.2.1 提供商发布包括以下新功能:

  • 添加对实体框架影子属性的支持,这些属性未在.NET实体类中定义,但包含在 Entity Framework Core 模型中并映射到数据库。

  • 添加了对在创建数据库时使用HasIndex()实体框架 Fluent API方法为属性创建索引的支持。

    以下示例显示如何为 Customer.Name、Order.OrderRef、Address.ZipCode 和 Documents.DocRef 属性指定索引:

    var context = MyContext.CreateCollectionOptions(database.MongoDatabase, mb =>
    {
    mb.Entity<Customer>().HasIndex(c => c.Name);
    mb.Entity<Order>().HasIndex(o => o.OrderRef).IsUnique();
    mb.Entity<Address>().HasIndex(o => o.ZipCode, "custom_index_name");
    mb.Entity<Documents>()
    .HasIndex(d => d.DocRef)
    .HasCreateIndexOptions(new CreateIndexOptions { Sparse = true });
    });
    var result = context.Database.EnsureCreated();
  • 在 LINQ 查询中添加对MQL.Exists() 、 MQL.IsMissing() 和MQL () 方法的支持。这些方法适用于真实属性和影子属性。

8.2提供商发布包括以下新功能:

  • 添加对类型鉴别器的支持

  • 添加了对MongoDB .NET/ C#驱动程序v 3.0 的支持

  • 添加了对 TimeOnly 和 DateOnly CLR 类型的支持

警告

重大更改

v 8.1提供商引入了以下重大更改:

  • EF Core 提供程序将所有更改作为MongoDB事务运行。 如果您的应用程序使用早于 v 5.0的MongoDB Server版本, 或未在副本集运行,则必须重新配置应用程序。

  • 将默认GUID存储格式从CSharpLegacy二进制格式更改为Standard格式。

  • 修改了IMongoClientWrapper接口,为MongoClientWrapper类提供服务注册。 您不应在应用程序中实现IMongoClientWrapper接口。

  • CamelCaseElementNameConvention案例根据属性名称而不是类名称拥有实体。

有关这些重大更改的更多信息,请参阅升级提供程序版本指南中的版本8.1.0重大更改。

8.1提供商发布包括以下新功能:

  • 通过以下方式支持开放式并发:

    • IsConcurrencyToken() 方法或ConcurrencyCheck()属性

    • IsRowVersion() 方法或Timestamp属性

  • 支持映射Dictionary和ReadOnlyDictionary属性

有关此发布的更多信息,请参阅v8.1.0发布说明。