.NET

Entity Framework Core Tingkat Lanjut

Raw SQL, stored procedures, transaksi, AsNoTracking, AsSplitQuery, query tags, interceptors, penyetelan performa

25 pertanyaan wawancaraยท
Mid-Level
1

Bagaimana cara menjalankan kueri raw SQL untuk mengambil entitas di EF Core?

Jawaban

Metode FromSql() atau FromSqlRaw() memungkinkan menjalankan kueri raw SQL sambil mengembalikan entitas yang dilacak oleh DbContext. Ini berguna untuk skenario di mana LINQ tidak dapat mengekspresikan kueri secara langsung, seperti memanggil stored procedures atau fungsi bernilai tabel. Hasilnya kemudian dapat dikomposisikan dengan LINQ untuk menambahkan filter atau menyertakan relasi.

2

Apa perbedaan antara FromSqlRaw() dan ExecuteSqlRaw() di EF Core?

Jawaban

FromSqlRaw() digunakan untuk menjalankan kueri SELECT yang mengembalikan entitas terlacak, memungkinkan komposisi dengan LINQ. ExecuteSqlRaw() digunakan untuk menjalankan perintah non-query (INSERT, UPDATE, DELETE) dan mengembalikan jumlah baris yang terpengaruh. FromSqlRaw() diterapkan pada DbSet, sedangkan ExecuteSqlRaw() diterapkan pada Database. Perbedaan ini menjamin keamanan tipe dan konsistensi model.

3

Bagaimana cara memanggil stored procedure yang mengembalikan entitas di EF Core?

Jawaban

Gunakan FromSqlRaw() atau Database.SqlQuery<T>() untuk memanggil stored procedure dan memetakan hasil ke entitas. Sangat penting menambahkan AsEnumerable() setelah pemanggilan untuk mencegah EF Core mencoba mengomposisi pada hasil stored procedure, yang akan menyebabkan kesalahan sintaks SQL. Parameter dapat dikirim menggunakan sintaks @p0, @p1 untuk mencegah injeksi SQL.

4

Apa peran AsNoTracking() di EF Core?

5

Kapan menggunakan AsNoTrackingWithIdentityResolution() alih-alih AsNoTracking()?

+22 pertanyaan wawancara

Kuasai .NET untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis