我有一个存储多个数据库上下文的集合( testRunEntities ),我想将它们一次性处理,然后使用"阻挡方式。
我唯一的想法是在try {} catch {} finally {}中包含此代码并迭代遍历集合。 但是我不想在这个方法中捕获任何异常,因为它应该由调用者完成。
还有其他办法吗?更清洁的方式?
using (TestManagementEntities testManagementEntity = new TestManagementEntities(TestManagementConnectionString))
{
IEnumerable<TestRunsEntities> testRunEntities = null;
try
{
testRunEntities =
SomeNamespace.GetReportContextsForPeriod(null, null, testManagementEntity);
List<string> softwareVersionsResult = await Task.Run(() => DatabaseWrapper.GetSoftwareVersions(
selectedProject,
testManagementEntity,
testRunEntities));
CB_SoftwareVersion.DataSource = softwareVersionsResult;
}
//catch
//{
// throw;
//}
finally
{
if (testRunEntities != null)
{
foreach (TestRunsEntities testRunEntity in testRunEntities)
{
testRunEntity.Dispose();
}
}
}
}
答案 0 :(得分:0)
事实证明,我不需要&#34;扔&#34;调用者处理它的例外,但我可以删除catch {}块。
同时尝试{} finally {object.Dispose();就像在这个场景中使用语句一样,所以我实现了我的目标。