【发布时间】:2012-03-02 10:41:04
【问题描述】:
我们有一个使用 Dapper 进行数据库读取的 winforms 应用程序。
在一种形式中,我们在后台线程上有一个(可能的)长时间运行的查询。
用户希望能够取消查询,因此我需要访问 DbCommand Dapper 创建并在其上调用 Cancel(如果它正在运行,则从另一个线程)。
从 Dapper 公开此 DbCommand 的最佳方式是什么?
【问题讨论】:
-
这目前没有公开,我想不出任何简单的方法来添加它,除了传入一个宣传事件的界面......我' m 假设这个特定的例子是例外而不是常态?或许只是这个手动编码?
-
我以为我终于摆脱了手动数据阅读器的东西......你猜不是。但是,我仍然喜欢 Dapper。
-
如果您对此有特别的想法,我会全力以赴......但是....我看不到任何 简单 方式 =
-
好吧,我考虑引入一个 IQueryPipeline 接口可选参数,它公开了我的目的所需的事件
-
@MarcGravell 让我们通过显式转换访问它怎么样?
((WrappedReader)reader).Cancel()或类似的。