Werte umwandeln in Entity Framework Core 2.1 16.07.2018, 00:00 Uhr

Geschmeidig konvertiert

Mit Wertkonvertern kann man im Objektmodell andere Datentypen verwenden als im Datenmodell.
Im klassischen Entity Framework (EF) und im Entity Framework Core 1.0, 1.1, 2.0 gab es für jeden Datenbankspaltentyp genau einen kompatiblen .NET-Datentyp. Man konnte zwar mit der Datenannotation [Column(TypeName = "typname")]oder im Fluent-API einen anderen Spaltentyp erzwingen, dies funktionierte aber nur, insofern die Typen aus der Sicht des Datenbanksystems kompatibel waren. Eine Umwandlung von Werten beim Laden (Materialisieren) oder Speichern von neuen und geänderten Daten gab es nicht.
Mit EF Core 2.1 Preview 1 hat Microsoft Wertkonverter eingeführt, die eine Umwandlung erlauben. Die Umwandlung lässt sich im Fluent-API mit HasConversion() definieren. Es gibt vordefinierte Konverter (siehe Bild 1) und man kann eigene Konverter erstellen. Notwendiger Namensraum ist Microsoft.EntityFrameworkCore.Storage.ValueConversion.

dotnetpro

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Auf jedem Gerät verfügbar