public override DbCommand CreateCommand() { var db = new SqlServerDatabase(""); var cm = db.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = this.GetStoredProcedureName(); DbParameter p = null; p = db.CreateParameter("@PK_PrimaryKeyColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.PK_PrimaryKeyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@PK_TimestampColumn", SqlDbType.Timestamp, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.PK_TimestampColumn; cm.Parameters.Add(p); for (int i = 0; i < cm.Parameters.Count; i++) { if (cm.Parameters[i].Value == null) cm.Parameters[i].Value = DBNull.Value; } return cm; }
public override DbCommand CreateCommand() { var db = new SqlServerDatabase(""); var cm = db.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = this.GetStoredProcedureName(); DbParameter p = null; p = db.CreateParameter("@BigIntColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.InputOutput; p.Value = this.BigIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@StructuredColumn", SqlDbType.Structured, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.SetTypeName("MyTableType"); var dt = this.StructuredColumn.CreateDataTable(); foreach (var item in this.StructuredColumn.Records) { dt.Rows.Add(item.GetValues()); } p.Value = dt; cm.Parameters.Add(p); for (int i = 0; i < cm.Parameters.Count; i++) { if (cm.Parameters[i].Value == null) cm.Parameters[i].Value = DBNull.Value; } return cm; }
public override DbCommand CreateCommand() { var db = new SqlServerDatabase(""); var cm = db.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = this.GetStoredProcedureName(); DbParameter p = null; p = db.CreateParameter("@RowGuidColumn", SqlDbType.UniqueIdentifier, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.InputOutput; p.Value = this.RowGuidColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NVarCharColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NVarCharColumn; cm.Parameters.Add(p); for (int i = 0; i < cm.Parameters.Count; i++) { if (cm.Parameters[i].Value == null) cm.Parameters[i].Value = DBNull.Value; } return cm; }
public static Boolean CanConnectToDatabase(DatabaseServer server, String connectionString) { switch (server) { case DatabaseServer.SqlServer: { var cn = new SqlServerDatabase(connectionString); return cn.CanOpen(); } case DatabaseServer.MySql: { var cn = new MySqlDatabase(connectionString); return cn.CanOpen(); } case DatabaseServer.Oracle: case DatabaseServer.PostgreSql: throw new NotImplementedException(); default: throw new NotImplementedException(); } }
public override DbCommand CreateCommand() { var db = new SqlServerDatabase(""); var cm = db.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = this.GetStoredProcedureName(); DbParameter p = null; p = db.CreateParameter("@BigIntColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.BigIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@IntColumn", SqlDbType.Int, 10, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.IntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@FloatColumn", SqlDbType.Float, 53, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.FloatColumn; cm.Parameters.Add(p); p = db.CreateParameter("@BinaryColumn", SqlDbType.Binary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.BinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@TimestampColumn", SqlDbType.Timestamp, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.InputOutput; p.Value = this.TimestampColumn; cm.Parameters.Add(p); p = db.CreateParameter("@VarBinaryColumn", SqlDbType.VarBinary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.VarBinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@BitColumn", SqlDbType.Bit, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.BitColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NCharColumn", SqlDbType.NChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NTextColumn", SqlDbType.NText, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 1073741823; p.Value = this.NTextColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NVarCharColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NVarCharColumn; cm.Parameters.Add(p); for (int i = 0; i < cm.Parameters.Count; i++) { if (cm.Parameters[i].Value == null) cm.Parameters[i].Value = DBNull.Value; } return cm; }
public void BulkCopy(SqlBulkCopyContext sqlBulkCopyContext, IDataReader reader) { var dr = reader; var state = ConnectionState; DateTimeOffset?startTime = null; DateTimeOffset?endTime = null; Object ec = null; if (sqlBulkCopyContext.Connection == null) { if (this.ConnectionString != sqlBulkCopyContext.ConnectionString) { throw new InvalidOperationException(); } } else { if (this.Connection != sqlBulkCopyContext.Connection) { throw new InvalidOperationException(); } } if (sqlBulkCopyContext.Transaction != null && this.Transaction != sqlBulkCopyContext.Transaction) { throw new InvalidOperationException(); } try { var e = SqlServerDatabase.OnCommandExecuting(new SqlServerCommandExecutingEventArgs(MethodName.BulkCopy, ConnectionString, sqlBulkCopyContext)); if (e != null && e.Cancel == true) { return; } ec = e.ExecutionContext; Open(); var bc = sqlBulkCopyContext.SqlBulkCopy; startTime = DateTimeOffset.Now; bc.WriteToServer(dr); endTime = DateTimeOffset.Now; dr.Close(); } catch (Exception exception) { this.CatchException(MethodName.BulkCopy, this.ConnectionString, exception, ec, sqlBulkCopyContext); } finally { if (state == ConnectionState.Closed) { this.Close(); } ((IDisposable)sqlBulkCopyContext.SqlBulkCopy).Dispose(); } if (startTime.HasValue == true && endTime.HasValue == true) { SqlServerDatabase.OnCommandExecuted(new SqlServerCommandExecutedEventArgs(MethodName.BulkCopy, this.ConnectionString , startTime.Value, endTime.Value, ec, sqlBulkCopyContext)); } }
public override DbCommand CreateCommand() { var db = new SqlServerDatabase(""); var cm = db.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = this.GetStoredProcedureName(); DbParameter p = null; p = db.CreateParameter("@PrimaryKeyColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.PrimaryKeyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@TimestampColumn", SqlDbType.Timestamp, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.InputOutput; p.Value = this.TimestampColumn; cm.Parameters.Add(p); p = db.CreateParameter("@BigIntColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.BigIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@BinaryColumn", SqlDbType.Binary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.BinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@ImageColumn", SqlDbType.Image, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 2147483647; p.Value = this.ImageColumn; cm.Parameters.Add(p); p = db.CreateParameter("@VarBinaryColumn", SqlDbType.VarBinary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.VarBinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@BitColumn", SqlDbType.Bit, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.BitColumn; cm.Parameters.Add(p); p = db.CreateParameter("@CharColumn", SqlDbType.Char, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.CharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NCharColumn", SqlDbType.NChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NTextColumn", SqlDbType.NText, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 1073741823; p.Value = this.NTextColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NVarCharColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NVarCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@TextColumn", SqlDbType.Text, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 2147483647; p.Value = this.TextColumn; cm.Parameters.Add(p); p = db.CreateParameter("@VarCharColumn", SqlDbType.VarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.VarCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@XmlColumn", SqlDbType.Xml, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.Value = this.XmlColumn; cm.Parameters.Add(p); p = db.CreateParameter("@DateTimeColumn", SqlDbType.DateTime, null, 3); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.DateTimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@SmallDateTimeColumn", SqlDbType.SmallDateTime, null, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.SmallDateTimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@DateColumn", SqlDbType.Date, null, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.DateColumn; cm.Parameters.Add(p); p = db.CreateParameter("@TimeColumn", SqlDbType.Time, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.TimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@DateTime2Column", SqlDbType.DateTime2, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.DateTime2Column; cm.Parameters.Add(p); p = db.CreateParameter("@DecimalColumn", SqlDbType.Decimal, 18, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.DecimalColumn; cm.Parameters.Add(p); p = db.CreateParameter("@MoneyColumn", SqlDbType.Money, 19, 4); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.MoneyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@SmallMoneyColumn", SqlDbType.SmallMoney, 10, 4); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.SmallMoneyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@FloatColumn", SqlDbType.Float, 53, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.FloatColumn; cm.Parameters.Add(p); p = db.CreateParameter("@IntColumn", SqlDbType.Int, 10, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.IntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@RealColumn", SqlDbType.Real, 24, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.RealColumn; cm.Parameters.Add(p); p = db.CreateParameter("@UniqueIdentifierColumn", SqlDbType.UniqueIdentifier, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.UniqueIdentifierColumn; cm.Parameters.Add(p); p = db.CreateParameter("@SmallIntColumn", SqlDbType.SmallInt, 5, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.SmallIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@TinyIntColumn", SqlDbType.TinyInt, 3, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.TinyIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@DateTimeOffsetColumn", SqlDbType.DateTimeOffset, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.DateTimeOffsetColumn; cm.Parameters.Add(p); p = db.CreateParameter("@SqlVariantColumn", SqlDbType.Variant, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 0; p.Value = this.SqlVariantColumn; cm.Parameters.Add(p); p = db.CreateParameter("@GeometryColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.SetUdtTypeName("geometry"); p.Value = this.GeometryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@GeographyColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.SetUdtTypeName("geography"); p.Value = this.GeographyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@HierarchyIDColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 892; p.SetUdtTypeName("hierarchyid"); p.Value = this.HierarchyIDColumn; cm.Parameters.Add(p); p = db.CreateParameter("@EnumColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 20; p.Value = this.EnumColumn.ToStringFromEnum(); cm.Parameters.Add(p); p = db.CreateParameter("@NotNullBigIntColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullBigIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullBinaryColumn", SqlDbType.Binary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullBinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullImageColumn", SqlDbType.Image, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 2147483647; p.Value = this.NotNullImageColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullVarBinaryColumn", SqlDbType.VarBinary, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullVarBinaryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullBitColumn", SqlDbType.Bit, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullBitColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullCharColumn", SqlDbType.Char, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullNCharColumn", SqlDbType.NChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullNCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullNTextColumn", SqlDbType.NText, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 1073741823; p.Value = this.NotNullNTextColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullNVarCharColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullNVarCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullTextColumn", SqlDbType.Text, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 2147483647; p.Value = this.NotNullTextColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullVarCharColumn", SqlDbType.VarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 100; p.Value = this.NotNullVarCharColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullXmlColumn", SqlDbType.Xml, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.Value = this.NotNullXmlColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullDateTimeColumn", SqlDbType.DateTime, null, 3); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullDateTimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullSmallDateTimeColumn", SqlDbType.SmallDateTime, null, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullSmallDateTimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullDateColumn", SqlDbType.Date, null, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullDateColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullTimeColumn", SqlDbType.Time, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullTimeColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullDateTime2Column", SqlDbType.DateTime2, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullDateTime2Column; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullDecimalColumn", SqlDbType.Decimal, 18, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullDecimalColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullMoneyColumn", SqlDbType.Money, 19, 4); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullMoneyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullSmallMoneyColumn", SqlDbType.SmallMoney, 10, 4); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullSmallMoneyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullFloatColumn", SqlDbType.Float, 53, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullFloatColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullIntColumn", SqlDbType.Int, 10, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullRealColumn", SqlDbType.Real, 24, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullRealColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullUniqueIdentifierColumn", SqlDbType.UniqueIdentifier, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullUniqueIdentifierColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullSmallIntColumn", SqlDbType.SmallInt, 5, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullSmallIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullTinyIntColumn", SqlDbType.TinyInt, 3, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullTinyIntColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullDateTimeOffsetColumn", SqlDbType.DateTimeOffset, null, 7); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.NotNullDateTimeOffsetColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullSqlVariantColumn", SqlDbType.Variant, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 0; p.Value = this.NotNullSqlVariantColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullGeometryColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.SetUdtTypeName("geometry"); p.Value = this.NotNullGeometryColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullGeographyColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = -1; p.SetUdtTypeName("geography"); p.Value = this.NotNullGeographyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullHierarchyIDColumn", SqlDbType.Udt, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 892; p.SetUdtTypeName("hierarchyid"); p.Value = this.NotNullHierarchyIDColumn; cm.Parameters.Add(p); p = db.CreateParameter("@NotNullEnumColumn", SqlDbType.NVarChar, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Size = 20; p.Value = this.NotNullEnumColumn.ToStringFromEnum(); cm.Parameters.Add(p); p = db.CreateParameter("@PK_PrimaryKeyColumn", SqlDbType.BigInt, 19, 0); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.PK_PrimaryKeyColumn; cm.Parameters.Add(p); p = db.CreateParameter("@PK_TimestampColumn", SqlDbType.Timestamp, null, null); p.SourceColumn = p.ParameterName; p.Direction = ParameterDirection.Input; p.Value = this.PK_TimestampColumn; cm.Parameters.Add(p); for (int i = 0; i < cm.Parameters.Count; i++) { if (cm.Parameters[i].Value == null) cm.Parameters[i].Value = DBNull.Value; } return cm; }