Menyiasat Pangkalan Data dengan Klausa IN Menggunakan ORM Dapper dan Nilai IEnumerable
Menyiasat pangkalan data dengan klausa IN ialah operasi biasa, dan apabila menggunakan ORM yang rapi, terdapat cara yang cekap untuk menulis pertanyaan ini apabila nilai untuk klausa IN datang daripada perniagaan logik.
Daripada menggabungkan nilai secara manual ke dalam rentetan yang dipisahkan koma, Dapper membenarkan anda menghantar IEnumerable nilai sebagai parameter secara langsung. Sebagai contoh, diberikan pertanyaan:
SELECT * FROM SomeTable WHERE id IN (commaSeparatedListOfIDs)
Di mana commaSeparatedListOfIDs ialah IEnumerable integer, anda boleh membina pertanyaan menggunakan Dapper seperti berikut:
string sql = "SELECT * FROM SomeTable WHERE id IN @ids"; var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 }});
Dapper akan menjana SQL yang sesuai secara automatik daripada klausa IN dan ikat nilai daripada parameter id. Ambil perhatian bahawa jika anda menggunakan PostgreSQL, pendekatan yang sedikit berbeza diperlukan. Rujuk jawapan yang disediakan untuk butiran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Klausa IN Dapper dengan Cekap dengan Nilai IEnumerable?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!