Freigeben über


AddDataAnnotationsValidation-Methode als veraltet erklärt

Die Erweiterungsmethode EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) wird ab ASP.NET Core 6 als veraltet markiert. Entwickler sollten stattdessen die neue Erweiterungsmethode EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation verwenden.

Der einzige Unterschied zwischen diesen beiden APIs ist ihr Rückgabewert:

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

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

Eingeführt in Version

ASP.NET Core 6.0

Altes Verhalten

Die ältere API, AddDataAnnotationsValidation(EditContext), gibt EditContext (als eine Art Fluent-API) zurück.

Neues Verhalten

Die neue API, EnableDataAnnotationsValidation, gibt ein IDisposable-Objekt zurück, dessen Beseitigung verwendet werden kann, um die Validierungsunterstützung für Datenanmerkungen aus EditContext zu entfernen.

Grund für die Änderung

Es gibt Fälle, in denen es wünschenswert ist, die Validierungsunterstützung für Datenanmerkungen nach dem Hinzufügen zu entfernen. Dies war mit der älteren API nicht möglich, da es keinen Ort zum Speichern der internen Ereignisabonnements gab. Die neue API gibt ein Objekt zurück, das den Zustand enthält, der zum Entfernen der Validierungsunterstützung für Datenanmerkungen bei der Beseitigung erforderlich ist.

Die meisten Anwendungen müssen nicht geändert werden. Die direkte Verwendung dieser Erweiterungsmethoden ist ein seltener und komplizierter Fall. Wenn Ihre App die <DataAnnotationsValidator>-Komponente verwendet, anstatt diese Methode direkt aufzurufen, ist keine Änderung erforderlich.

Wenn editContext.AddDataAnnotationsValidation() jedoch aufgerufen wird, ersetzen Sie diesen Aufruf durch editContext.EnableDataAnnotationsValidation(). Optional können Sie das neue zurückgegebene IDisposable-Objekt erfassen und später beseitigen, wenn Sie die Auswirkungen des Aufrufs rückgängig machen möchten.

Betroffene APIs