Tôi đã tìm thấy vijaysg / OracleDynamicParameters.cs này
Nó tạo ra OracleDynamicParameters
triển khai lớp IDynamicParameters
giao diện.
Tại đây là cách sử dụng nó
Mẫu:
PROCEDURE GetUserDetailsForPIDM (i_id IN NUMBER,
o_user OUT SYS_REFCURSOR,
o_roles OUT SYS_REFCURSOR);
và cách gọi nó bằng dapper
public static User GetUserDetailsByID( int ID ) {
User u = null;
using ( OracleConnection cnn = new OracleConnection( ConnectionString ) ) {
cnn.Open( );
var p = new OracleDynamicParameters( );
p.Add( "i_id", ID );
p.Add( "o_user", dbType:OracleDbType.RefCursor, direction: ParameterDirection.Output );
p.Add( "o_roles", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output );
using ( var multi = cnn.QueryMultiple( "PKG_USERS.GetUserDetailsForID", param: p, commandType: CommandType.StoredProcedure ) ) {
u = multi.Read<User>( ).Single( );
u.Roles = multi.Read<UserRole>.ToList( );
}
}
return u;
}
Đối với loại Clob, chỉ cần chỉ định OracleDbType.Clob
khi thêm tham số.