public TResult RawScalarQuery <TResult>(string query, object param = default, Transaction transaction = default) { using (var command = CommandDefinition.GetCommand(provider: _provider, connection: _dbConnection, commandText: query, param: param, transaction: transaction)) { return((TResult)CommandExecuter.ExecuteScalarQuery(_dbConnection, command)); } }
public void Insert(TEntity item, Transaction transaction = default) { using (var command = CommandDefinition.GetCommand(provider: _provider, connection: _dbConnection, transaction: transaction)) { var properties = CommandExecuter.GetProperticeWithAddParameters <TEntity>(_provider, _key, _keyIsAutoId, item, command); command.CommandText = DynamicQuery.Insert(_provider, _key, properties, item); var key = CommandExecuter.ExecuteScalarQuery(_dbConnection, command); if (_keyIsAutoId) { var value = Convert.ChangeType(key, _key.PropertyType); _key.SetValue(item, value); } } }