如何将Dapper DynamicParameter转换为DbParameter []?

时间:2016-06-16 07:48:17

标签: c# sql dapper

Dapper.NET库中使用查询方法时,函数代码位于:

public IEnumerable<dynamic> Query(IDbConnection conn, string sql, dynamic param = null, IDbTransaction trans = null, bool buffered = true)
{
    return SqlMapper.Query(conn, sql, param as object, trans, buffered);
}

我们的客户使用他们自己的数据访问库,他们不使用SqlMapper库中的Dapper类。所以他们需要将参数更改为DbParameter[]。使用Query方法有很多引用,最好只将param对象更改为DbParameter数组,否则我们必须修改代码中的每个引用。

有没有找到解决方案来解决此问题的好方法?感谢。

1 个答案:

答案 0 :(得分:1)

这不是dapper暴露的API,因为它永远不需要。要做你想做的事,你可以从dapper源代码中随意借用来获得你需要的东西,但也要考虑:你不能孤立地创建DbParameter - 它是一个抽象类型。您需要事先知道您真正想要的类型,或者要求连接为您创建参数。