我的任务是创建一个类,客户可以使用该类从特定数据源获取数据。例如,主要例程将是
IDataReader GetDataReader(DbCommand command);
DataSet GetDataSet(DbCommand command);
我知道数据访问应用程序块可以做到这一点,但由于我不会解释的原因,我不能使用应用程序块。无论如何,我确实打算借用一些逻辑。
但是,我任务的另一部分是跟踪打开的 DataReader。这只是为了验证每个人都正确地关闭了他们的读者。我的计划是在这个新类中只包含一个 DataReader 集合,每次调用 GetDataReader 例程时都会添加这些集合。在应用程序执行结束时,代码将遍历此集合并将警告记录到每个仍打开的阅读器的文件中。
所以,我有两个问题:
- 这种设计有什么本质上的问题吗?
- 无论如何我可以从 DataReader 执行 SQL 命令吗?这将大大简化对未封闭阅读器的搜索。或者,我是否必须存储读取器/命令对才能获取此信息?