了解以下版本中的新功能:
重要
为确保提供商的主版本号与 Entity Framework Core 版本一致, MongoDB Entity Framework Core 提供程序不限制对主要版本的重大更改。 相反,次要版本中会进行重大更改。
8.4 中的新功能
本部分列出了以下版本中引入的更改:
版本 8.4.4
8.4.4提供商发布包括以下更改:
重要
MongoDB Entity 框架 Core 提供商 v8.4.4 版本包含针对以下安全问题的修复:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
修复当您指定数据库名称时 Queryable Encryption 模式生成的问题。
停止记录连接字符串日志,以防止意外泄露
修复了 Include 规范套件中掩盖错误数据的裸 catch
AssertTranslationFailed修复了对同一目标实体类型的两个同级引用包含
修复了通过同一目标类型进行的同级
ThenInclude调用合并为一个$lookup的问题修复了错误路由到根级诱饵导航的传递性
ThenInclude跳转修复了多对多连接实体因重复的影子属性而丢失复合键的问题
修复一个
ThenInclude,其关键选择器穿透所有的导航进行访问修复
Take(0)抛出ArgumentOutOfRangeException修复了
Equals()中数值类型不匹配导致抛出InvalidCastException的问题将 .NET/C# 驱动程序升级到 3.11.2
有关此发布的更多信息,请参阅Github上的v8.4.4发布说明。
版本 8.4.3
8.4.3提供商发布包括以下更改:
重要
MongoDB Entity 框架 Core 提供商 v8.4.3 版本包含针对 CVE-2026-92756。 的修复程序。
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
添加对跨集合
Include()调用、导航和连接的支持。添加对 LINQ 操作符(如
ToArray()、ToList()和FirstOrDefault())的支持,这些操作符在最终投影中应用于 string。支持构建 MongoDB Search 索引
向实例添加元数据
MongoClient拒绝拥有的实体上的并发令牌
修复了投影中连接实体上的影子或标量
EF.Property()读取问题修复了一个 bug,即在与整个实体一起投影时,组合两个属性(例如,
c.Age * c.Score)的计算值返回了错误结果。修复驱动程序 LINQ 鉴别器过滤器以匹配已转换或已表示的值
修复了一个错误,即
MongoOptionsExtension复制构造函数在WithCryptProvider()或WithQueryableEncryptionSchemaMode()方法之后链式调用时会删除CryptExtraOptions和QueryableEncryptionSchemaMode设置修复以非查询操作符结尾的已编译查询
修复了一个 bug,即在空集上调用
Sum()时,对于可空的投影返回了null。修复了在投影标量集合上调用
Contains()时返回错误结果的错误将 Entity Framework Core 版本依赖项升级到 8.0.30
有关此发布的更多信息,请参阅Github上的v8.4.3发布说明。
版本 8.4.2
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
8.4.1提供商发布包括以下更改:
- 修复删除项目时保存集合更改的错误
有关此发布的更多信息,请参阅Github上的v8.4.1发布说明。
版本 8.4.0
8.4.0提供商发布包括以下更改:
将鉴别器映射到
_t,除非已显式配置改进了对不支持的 LINQ 操作的检测和消息传递
始终使用 EF Core 而不是 EF
有关此发布的更多信息,请参阅Github上的v8.4.0发布说明。
8.3 中的新功能
本部分列出了以下版本中引入的更改:
版本 8.3.4
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
8.3.3提供商发布包括以下更改:
使用
MongoTransactionManager和IMongoTransactionManager接口添加显式ACID 事务支持将向量索引创建的默认超时时间从 15 增加到 60 秒,并在系统等待进程完成时进行记录
修复日志记录逻辑,确保禁用敏感数据日志记录时,向量查询警告消息不包含敏感查询详细信息
更新向量索引过滤字段以使用元素名称而不是C#属性名称
有关此发布的更多信息,请参阅Github上的v8.3.3发布说明。
版本 8.3.2
8.3.2提供商发布包括以下更改:
Adds support for MongoDB Vector Search. To learn more, see MongoDB Vector Search Overview in the MongoDB Server manual.
将提供商程序约定类公开。
修复了使用
EF.Property()方法的投影生成NullReferenceException错误的错误。
有关此发布的更多信息,请参阅Github上的v8.3.2发布说明。
版本 8.3.1
8.3.1提供商发布包括以下更改:
为Queryable Encryption添加服务器端模式支持和新的
IsEncryptedFluent API添加对备用键的支持
允许在实体类型属性具有
ColumnAttribute属性时抑制异常通过
EnsureCreated()方法添加数据库种子设置支持添加了对映射用作简单属性的简单结构的支持
添加对物化只读属性的支持
添加对作为主节点 (primary node in the replica set)键的卷影属性的支持
有关此发布的更多信息,请参阅Github上的v8.3.1发布说明。
版本 8.3.0
8.3提供商发布包括以下新功能:
添加了对在
PropertiesConfigurationBuilder上设置BSON表示形式的支持。添加对
HasDateTimeKind()的配置级支持。更改行为以将
HasBsonRepresentation应用可为 null 的属性。要学习;了解详情,请参阅升级提供程序版本指南中的版本 8.3.0重大更改。更改行为以允许测试导航集合的可为空性。
8.2 中的新功能
本部分列出了以下版本中引入的更改:
版本 8.2.3
8.2.3 提供商发布包括以下新功能:
添加了对顶级标量聚合的支持,例如
Sum、Average、Min和Max添加了在使用
_id属性的string类型时对ObjectId生成的支持更改了行为,以便在自有集合缺少BSON元素时不再引发错误
版本 8.2.2
8.2.2 提供商发布包括以下新功能:
更新
DbUpdateConcurrencyException错误消息以包含导致错误的实体类型添加了对针对可为 null 的属性的值转换器的支持
添加了对在自有实体上使用
HasIndex()方法的支持添加对字节大量类型的支持
版本 8.2.1
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.0
8.2提供商发布包括以下新功能:
添加对类型鉴别器的支持
添加了对MongoDB .NET/ C#驱动程序v 3.0 的支持
添加了对
TimeOnly和DateOnlyCLR 类型的支持
8.1 中的新功能
警告
重大更改
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发布说明。