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.