使用Dapper启用多个活动结果集

Ger*_*hes 4 c# dapper asp.net-core

我正在将Dapper与asp.net核心一起使用,并且尝试启用多个活动结果

有人设法使用Dapper启用MARS吗?

我试图追加到连接,"MultipleActiveResultSets=True"但没有任何效果。

启用多个活动结果集

我得到的错误是

InvalidOperationException:连接不支持MultipleActiveResultSets

Mar*_*ell 6

Dapper与MARS仅有的一点联系就是使用重叠的异步API发出多个正在进行的操作ExecuteAsync通过配置Pipelinedtrueon 来告知您要这样做CommandDefinition。除此之外:Dapper 不在乎 MARS。如果您在连接上启用它:它将被启用;如果您不这样做:不会。没有MARS不能正常工作的关键是:使用无缓冲查询(Query<T>(...buffered: false)),然后该查询发出其他操作。但这通常可以通过以下方式避免:不这样做。您还可以在连接字符串使火星,但坦率地说,我一般建议反对这一点。

因此:Dapper没有与MARS相关的显式控件,除了ExecuteAsync with 处于Pipelined启用状态。