Start Debugging

Blog

Seite 6 von 91

Was entscheidet, ob EF Core eine SQL-Server-Spalte `date` als `DateOnly` oder `DateTime` scaffoldet?

Die EF-Core-Version des SQL-Server-Providers in Ihrem Startprojekt entscheidet: EF Core 7 und früher scaffolden date als DateTime, EF Core 8 bis 11 als DateOnly. Hier sind das Type Mapping, das diese Wahl trifft, gemessene Ausgaben von EF Core 7, 8, 10 und 11 RC 2 sowie zwei Wege, DateTime zurückzubekommen, ohne die Spalte stillschweigend auf datetime2 umzustellen.

Was kopiert ein C# `with`-Ausdruck tatsächlich, und warum werden berechnete Record-Eigenschaften nicht neu berechnet?

Ein with-Ausdruck ruft die vom Compiler generierte Methode <Clone>$ des Records auf, die einen Kopierkonstruktor ausführt: Er kopiert jedes Instanzfeld und überspringt alle Initialisierer. Deshalb sind Eigenschaften, die aus anderen Eigenschaften initialisiert werden, zwischengespeicherte Werte und Guid-IDs nach dem Kopieren veraltet. Gemessen unter .NET 10 mit C# 14, samt den Lösungen, die tatsächlich funktionieren.

Eine Blazor-App mit routbaren Komponenten in einer anderen Assembly von .NET 8 auf .NET 10 migrieren

Upgrade einer Blazor Web App, deren Seiten in einer Razor-Klassenbibliothek oder einem .Client-Projekt liegen, von .NET 8 auf .NET 10: was gleich bleibt (beide AdditionalAssemblies-Registrierungen) und die vier Dinge, die brechen, vom 404 auf blazor.web.js in schlanken Hosts bis zu NotFoundPage-Seiten, die leer rendern. Gemessen mit ASP.NET Core 8.0.32 und 10.0.10.

FileSystemWatcher vs. Polling zur Erkennung von Dateiänderungen auf einer Netzwerkfreigabe in .NET

Auf einer SMB- oder NFS-Freigabe ist Polling die maßgebliche Quelle und FileSystemWatcher bestenfalls ein Hinweis. FileSystemWatcher verpasst Remote-Änderungen unter Linux und macOS, läuft über seinen 64-KB-Netzwerkpuffer über und stoppt endgültig, wenn die Verbindung abbricht. Verwenden Sie einen periodischen Snapshot-Vergleich und lassen Sie den Watcher nur einen früheren Scan auslösen. Geprüft mit .NET 10.0.10.