我有一个进程用于将各种源的数据加载到SQL Server数据库。在这个过程中,我有几个方法,每个方法都使用文件数据并返回一个DataTable对象。根据要加载的数据类型,可以为任何一次运行调用其中一种方法。
这些方法创建的所有DataTable对象都由同一目标方法使用,该方法将数据传输到SQL Server。这导致了一些重复的代码:
if (useDT == 1)
{
using (DataTable dt = MakeDT1())
{
ConsumeDT(dt);
}
}
if (useDT == 2)
{
using (DataTable dt = MakeDT2())
{
ConsumeDT(dt);
}
}
(为简洁起见,现实世界名称是描述性的)
如果可能的话,我想避免这种情况。是否可以预先计算调用生成DataTable的正确方法,然后只调用一次ConsumeDT(dt)?例如。
switch (useDT)
{
case 1
dtCall = MakeDT1()
break;
case 2
dtCall = MakeDT2()
}
using (DataTable dt = dtCall)
//etc
提前致谢,Iain