Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tham số giá trị bảng với các thủ tục được lưu trữ Dapper

Trước đây, các tham số có giá trị bằng bảng không phải là trọng tâm lớn trong dapper; chủ yếu là vì chúng chỉ hoạt động trên SqlConnection (dapper cố gắng nhắm mục tiêu các nhà cung cấp tùy ý, bao gồm cả các nhà cung cấp ADO.NET "được trang trí" - tức là nơi có SqlConnection đang ẩn bên dưới một số trình bao bọc). Những gì bạn có thể làm là triển khai IDynamicParameters theo cách thủ công (hoặc chỉ mượn DynamicParameters hiện có lớp) để thêm chức năng này:

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;
    ...
}

Tôi cũng sẽ cố gắng tạo ra DynamicParameters cụ thể lớp đa hình hơn ở đây, để trong bản dựng sau này, bạn có thể chỉ cần override một phương pháp duy nhất, phát hiện loại TVP-ish và thêm thông số theo cách thủ công.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tuyên bố đã chấm dứt. Đệ quy tối đa 100 đã hết trước khi hoàn thành câu lệnh

  2. SQL Server 2008 tách, sắp xếp và hợp nhất giá trị

  3. Xóa tất cả các chế độ xem khỏi Sql Server

  4. Cách cài đặt sqlcmd &bcp trên SUSE

  5. SQL Server 2016:Tạo bảng từ tập lệnh SQL