Welches SQL erzeugt EF Core hier?

Welches SQL erzeugt EF Core hier?

- Matt

Statt zu raten, welche Abfrage hinter einer LINQ-Kette steht:

optionsBuilder
    .LogTo(Console.WriteLine, LogLevel.Information)
    .EnableSensitiveDataLogging();

EnableSensitiveDataLogging ist der Teil, der die Parameterwerte mit ausgibt statt nur Platzhalter. Genau deshalb gehört es ausschließlich in die Entwicklung, sonst stehen Kundendaten im Log.

Für eine einzelne Abfrage genügt auch:

var sql = query.ToQueryString();

Das liefert das SQL als Zeichenkette, ohne die Abfrage auszuführen. Praktisch, um zu prüfen, ob ein Filter tatsächlich in der Datenbank landet oder erst im Speicher greift.