我可以将Parametercollection添加到另一个Parametercollection吗?

时间:2013-05-06 06:52:49

标签: .net sqldatareader

SqlParameterCollectionAdd(SqlParameter)方法和AddRange(SqlParameter[])方法。每个都有几个重载。

具体来说,SqlCommand.Parameters是只读的,如果我有SqlParameterCollection我不能只分配它,所以我想将它添加到现有的集合中。

现在我的代码中有一个循环:

SqlCommand cmd = new SqlCommand();
foreach (SqlParameter param in collection)
{
    cmd.Parameters.Add(param);
}

是否有一种简单的内置方式可以将SqlParameterCollection添加到另一个?

1 个答案:

答案 0 :(得分:0)

我设置了一个扩展方法,使程序更容易。避风港找不到真正的'然而,方式:

(来自@DanielPaoliello的修改建议)

public static void AddCollection(this SqlParameterCollection basic, SqlParameterCollection collection)
{
    foreach (SqlParameter param in collection)
    {
        basic.Add(((param as ICloneable).Clone()) as SqlParameter);
    }
}

比用作:

cmd.Parameters.AddCollection(collection);