Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public DbCommand RecycledParameters(string sql, IList<DbParameter> parameters)
- {
- var result = db.GetSqlStringCommand(sql);
- foreach(DbParameter p in parameters)
- {
- db.AddInParameter(result, p.ParameterName, p.DbType, p.Value);
- }
- return result;
- }
- System.Data.Common.DbCommand command = new System.Data.SqlClient.SqlCommand();
- System.Data.Common.DbCommand command1 = new System.Data.SqlClient.SqlCommand();
- command1.Parameters.AddRange(command.Parameters.Cast<System.Data.Common.DbParameter>().ToArray());
- private DbParameterCollection cloneParms(DbCommand commandWithParms)
- {
- return ObjectCopier.Clone<DbParameterCollection>(commandWithParms.Parameters);
- }
- public static class ObjectCopier
- {
- /// <summary>
- /// Perform a deep Copy of the object.
- /// </summary>
- /// <typeparam name="T">The type of object being copied.</typeparam>
- /// <param name="source">The object instance to copy.</param>
- /// <returns>The copied object.</returns>
- public static T Clone<T>(T source)
- {
- if (!typeof(T).IsSerializable)
- {
- throw new ArgumentException("The type must be serializable.", "source");
- }
- // Don't serialize a null object, simply return the default for that object
- if (Object.ReferenceEquals(source, null))
- {
- return default(T);
- }
- IFormatter formatter = new BinaryFormatter();
- Stream stream = new MemoryStream();
- using (stream)
- {
- formatter.Serialize(stream, source);
- stream.Seek(0, SeekOrigin.Begin);
- return (T)formatter.Deserialize(stream);
- }
- }
- }
- // Copy parameters from cmd1 to cmd2
- // Creates an array with new parameters
- var nsp = cmd1.Parameters.Cast<ICloneable>().Select(x => x.Clone() as SqlParameter).Where(x => x != null).ToArray();
- // Copy parameters into another command
- cmd2.Parameters.AddRange(nsp);
- Dim p1 As SqlClient.SqlParameter = CType(CType(p, ICloneable).Clone, SqlClient.SqlParameter)
Add Comment
Please, Sign In to add comment