AddDataAnnotationsValidation 方法已过时

自 ASP.NET Core 6 起,扩展方法 EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) 标记为已过时。 开发人员应改用新的扩展方法 EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation

这两个 API 的唯一区别在于它们的返回值:

EditContext AddDataAnnotationsValidation(this EditContext editContext) { ... }

IDisposable EnableDataAnnotationsValidation(this EditContext editContext) { ... }

引入的版本

ASP.NET Core 6.0

旧行为

旧 API AddDataAnnotationsValidation(EditContext) 返回其 EditContext(作为一种 Fluent API)。

新行为

新 API EnableDataAnnotationsValidation 返回 IDisposable,可释放它来从 EditContext 中删除数据注释验证支持。

更改原因

在某些情况下,需要在添加数据注释验证支持后将其删除。 使用旧 API 时无法删除,因为没有位置可存储内部事件订阅。 新 API 会返回一个对象,用于保存在释放时删除数据注释验证支持所需的状态。

大多数应用程序不需要更改。 直接使用这些扩展方法是一种罕见且高级的情况。 如果应用使用 <DataAnnotationsValidator> 组件,而不是直接调用此方法,则无需更改。

不过,如果确实要调用 editContext.AddDataAnnotationsValidation(),请将调用替换为 editContext.EnableDataAnnotationsValidation()。 如果要撤消调用的效果,可选择捕获新返回的 IDisposable 对象并释放它。

受影响的 API