private T ExecuteScalarCommand <T>(ScalarCommand scalarCommand, DbConnection connection) { foreach (var preparatoryCommand in scalarCommand.PreparatoryCommands) { ExecuteNonQuery(preparatoryCommand, connection); } return(ExecuteScalar <T>(scalarCommand.ResultCommand, connection)); }
public virtual ScalarCommand CreateIdentityInsertCommand(string tableName, IDictionary <string, object> columnValues) { var scalarCommand = new ScalarCommand(); var insertCommand = CreateInsertCommand(tableName, columnValues); insertCommand.CommandText += ";SELECT CAST(@@IDENTITY AS int)"; scalarCommand.ResultCommand = insertCommand; return(scalarCommand); }
public override ScalarCommand CreateIdentityInsertCommand(string tableName, IDictionary <string, object> columnValues) { var scalarCommand = new ScalarCommand(); var insertCommand = CreateInsertCommand(tableName, columnValues); var selectCommand = _commandFactory.CreateCommand("SELECT CAST(@@IDENTITY AS int)"); scalarCommand.PreparatoryCommands.Add(insertCommand); scalarCommand.ResultCommand = selectCommand; return(scalarCommand); }