Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Parameter Nilai Tabel dengan prosedur tersimpan Dapper

Secara historis parameter bernilai tabel belum menjadi fokus besar dalam necis; terutama karena mereka hanya bekerja pada SqlConnection (dapper mencoba menargetkan penyedia sewenang-wenang, termasuk penyedia ADO.NET "dihiasi" - yaitu di mana SqlConnection bersembunyi di bawah beberapa pembungkus). Apa yang Anda bisa lakukan adalah mengimplementasikan IDynamicParameters secara manual (atau cukup pinjam DynamicParameters yang ada class) untuk menambahkan fungsi ini:

void SqlMapper.IDynamicParameters.AddParameters(System.Data.IDbCommand command,
                                                SqlMapper.Identity identity)
{
    ...
    // and then whatever the code is...
    ((SqlCommand)command).Parameters
        .AddWithValue(...,...).SqlDbType = System.Data.SqlDbType.Structured;
    ...
}

Saya juga akan berusaha membuat DynamicParameters yang konkret kelas lebih polimorfik di sini, sehingga di build mendatang Anda cukup override metode tunggal, mendeteksi tipe TVP, dan menambahkan parameter secara manual.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menjatuhkan tabel jika ada?

  2. Tetapkan porsi waktu dari variabel datetime

  3. Buat Fungsi Partisi di SQL

  4. Daftar semua kolom SQL dengan panjang maksimal DAN panjang terbesar

  5. Salin data ke dan dari tabel yang sama dan ubah nilai data yang disalin dalam satu kolom ke nilai yang ditentukan