.NET

Entity Framework Core fortgeschritten

Raw SQL, Stored Procedures, Transaktionen, AsNoTracking, AsSplitQuery, Query Tags, Interceptors, Performance-Tuning

25 Interview-Fragen·
Mid-Level
1

Wie führt man eine Raw-SQL-Abfrage aus, um Entitäten in EF Core abzurufen?

Antwort

Die Methode FromSql() oder FromSqlRaw() ermöglicht die Ausführung von Raw-SQL-Abfragen und gibt dabei vom DbContext nachverfolgte Entitäten zurück. Das ist nützlich in Szenarien, in denen LINQ die Abfrage nicht direkt ausdrücken kann, etwa beim Aufruf von Stored Procedures oder tabellenwertigen Funktionen. Die Ergebnisse können anschließend mit LINQ kombiniert werden, um Filter hinzuzufügen oder Beziehungen einzubinden.

2

Was ist der Unterschied zwischen FromSqlRaw() und ExecuteSqlRaw() in EF Core?

Antwort

FromSqlRaw() wird verwendet, um SELECT-Abfragen auszuführen, die nachverfolgte Entitäten zurückgeben, und ermöglicht die Komposition mit LINQ. ExecuteSqlRaw() wird verwendet, um Nicht-Abfrage-Befehle (INSERT, UPDATE, DELETE) auszuführen, und gibt die Anzahl der betroffenen Zeilen zurück. FromSqlRaw() wird auf einem DbSet angewendet, während ExecuteSqlRaw() auf Database angewendet wird. Diese Unterscheidung gewährleistet Typsicherheit und Modellkonsistenz.

3

Wie ruft man eine Stored Procedure auf, die Entitäten in EF Core zurückgibt?

Antwort

Verwenden Sie FromSqlRaw() oder Database.SqlQuery<T>(), um eine Stored Procedure aufzurufen und die Ergebnisse auf Entitäten abzubilden. Es ist entscheidend, nach dem Aufruf AsEnumerable() hinzuzufügen, um zu verhindern, dass EF Core versucht, auf den Ergebnissen der Stored Procedure zu komponieren, was SQL-Syntaxfehler verursachen würde. Parameter können mit der Syntax @p0, @p1 übergeben werden, um SQL-Injection zu verhindern.

4

Welche Rolle spielt AsNoTracking() in EF Core?

5

Wann sollte man AsNoTrackingWithIdentityResolution() anstelle von AsNoTracking() verwenden?

+22 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten