public static bool Insert(TableEntity entity, DbConnection connection, DbTransaction transaction, out int affected) { var command = KandaTableDataGateway._factory.CreateCommand(connection, transaction); command.CommandText = @"usp_InsertTable"; KandaDbDataMapper.MapToParameters(command, entity); var error = KandaTableDataGateway._factory.CreateParameter(KandaTableDataGateway.RETURN_VALUE, DbType.Int32, sizeof(int), ParameterDirection.ReturnValue, DBNull.Value); command.Parameters.Add(error); affected = command.ExecuteNonQuery(); entity.ID = Convert.ToInt64(command.Parameters["@identity"].Value); return ((int)error.Value == 0); }
public void InsertFact() { var connection = default(DbConnection); var transaction = default(DbTransaction); try { connection = this._factory.CreateConnection(); connection.Open(); transaction = connection.BeginTransaction(IsolationLevel.Serializable); var entity = new TableEntity() { }; int affected; var result = TableGateway.Insert(entity, connection, transaction, out affected); } finally { if (transaction != null) { transaction.Rollback(); } if (connection != null) { connection.Close(); } } }