Neue FeaturesDer OR-Mapper bietet seit .NET Preview 1 neue Annotationen wie [Unicode], [Precision] und [EntityTypeConfiguration]. Der Datenbanktreiber für SQLite unterstützt nun ToString() und das in Version 5.0 eingeführte Savepoints API. Für den Microsoft SQL Server kann man nun per Fluent-API eine Spalte als "Sparse Column" deklarieren und damit Speicherplatz in den Datenbankdateien einsparen für den Fall, dass viele Null-Werte vorkommen, was beim Table-per-Hierarchy-Mapping häufig auftritt, da hier eine ganze Vererbungshiearchie in einer Tabelle lebt. Auch die Methode IsNullOrWhitespace() unterstützt der SQL Server-Treiber nun. Für SQL Server, SQLite und Cosmos DB funktioniert die Zufallszahlengenerierung mit EF.Functions.Random(). Beim Reverse Engineering übernimmt der Befehl Scaffold-DbContext jetzt Kommentare zu Tabellen und Spalten aus dem Datenmodell in den generierten Programmcode.
Preview 2 bietet hingegen nur kleine Verbesserungen: String.Concat() funktioniert auch mit mehr als zwei Parametern. SqlServerDbFunctionsExtensions.FreeText() und SqlServerDbFunctionsExtensions.Contains() funktionieren jetzt auch mit binären Spalten und in Zusammenarbeit mit Value Convertern. Außerdem hat Microsoft ein schon länger bestehendes lästiges Problem [https://github.com/dotnet/efcore/issues/18124] mit doppelten Typen in zwei verschiedenen Assemblies in Zusammenhang mit asynchronen LINQ-Operationen endlich gelöst [https://github.com/dotnet/efcore/issues/24041].
Dazu gehören: N:M-Unterstützung beim Reverse Engineering Mapping für Spalten mit Typ "JSON" Unterstützung für temporale Tabellen im Microsoft SQL Server Festlegung der Reihenfolge beim Anlegen von Spalten (ColumnAttribute.Order) Migration Bundles für Schemamigrationen (war schon für Version 5.0 geplant: Alternativ zu einem SQL-Skript soll eine ausführbare Datei generiert werden, die das Datenbankschema aktualisiert) Leistungsverbesserungen insbes. Schnellerer Start durch kompilierte Modelle Unterstützung für ADO.NET Batching API [https://github.com/dotnet/runtime/issues/28633] Bei der Performance hat sich Microsoft vorgenommen, im TechEmpower Benchmark [https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=db] den konkurrienden Micro-ORM "Dapper" von StackExchange [https://github.com/StackExchange/Dapper] zu schlagen
Langjährige Erfahrungen bei der Entwicklung von .NET- und Web-Anwendungen sowie dem Betrieb von Software geben die Top-Experten von www.IT-Visions.de an Sie weiter.
Sie brauchen Unterstützung bei der Entwicklung Ihrer Software? Die Experten-Entwickler von MAXIMAGO entwickeln Ihre Anwendungen mit innovativen User Interfaces zum agilen Festpreis.