private void TranslateCommandTree(DbCommandTree commandTree, DbCommand command, NpgsqlProviderManifest providerManifest) { SqlBaseGenerator sqlGenerator = null; DbQueryCommandTree select; DbInsertCommandTree insert; DbUpdateCommandTree update; DbDeleteCommandTree delete; if ((select = commandTree as DbQueryCommandTree) != null) { sqlGenerator = new SqlSelectGenerator(select, providerManifest); } else if ((insert = commandTree as DbInsertCommandTree) != null) { sqlGenerator = new SqlInsertGenerator(insert, providerManifest); } else if ((update = commandTree as DbUpdateCommandTree) != null) { sqlGenerator = new SqlUpdateGenerator(update, providerManifest); } else if ((delete = commandTree as DbDeleteCommandTree) != null) { sqlGenerator = new SqlDeleteGenerator(delete, providerManifest); } else { // TODO: get a message (unsupported DbCommandTree type) throw new ArgumentException(); } sqlGenerator.BuildCommand(command); }
internal DbCommand CreateDbCommand(DbCommandTree commandTree, NpgsqlProviderManifest providerManifest) { if (commandTree == null) throw new ArgumentNullException("commandTree"); DbCommand command = NpgsqlFactory.Instance.CreateCommand(); foreach (KeyValuePair<string, TypeUsage> parameter in commandTree.Parameters) { DbParameter dbParameter = command.CreateParameter(); dbParameter.ParameterName = parameter.Key; command.Parameters.Add(dbParameter); } TranslateCommandTree(commandTree, command, providerManifest); return command; }
internal DbCommand CreateDbCommand(DbCommandTree commandTree, NpgsqlProviderManifest providerManifest) { if (commandTree == null) { throw new ArgumentNullException("commandTree"); } DbCommand command = NpgsqlFactory.Instance.CreateCommand(); foreach (KeyValuePair <string, TypeUsage> parameter in commandTree.Parameters) { DbParameter dbParameter = command.CreateParameter(); dbParameter.ParameterName = parameter.Key; command.Parameters.Add(dbParameter); } TranslateCommandTree(commandTree, command, providerManifest); return(command); }
internal DbCommand CreateDbCommand(Version serverVersion, DbCommandTree commandTree) { if (commandTree == null) { throw new ArgumentNullException("commandTree"); } NpgsqlCommand command = new NpgsqlCommand(); foreach (KeyValuePair <string, TypeUsage> parameter in commandTree.Parameters) { NpgsqlParameter dbParameter = new NpgsqlParameter(); dbParameter.ParameterName = parameter.Key; dbParameter.NpgsqlDbType = NpgsqlProviderManifest.GetNpgsqlDbType(((PrimitiveType)parameter.Value.EdmType).PrimitiveTypeKind); command.Parameters.Add(dbParameter); } TranslateCommandTree(serverVersion, commandTree, command); return(command); }
internal DbCommand CreateDbCommand(Version serverVersion, DbCommandTree commandTree) { if (commandTree == null) { throw new ArgumentNullException(nameof(commandTree)); } var command = new NpgsqlCommand(); foreach (var parameter in commandTree.Parameters) { var dbParameter = new NpgsqlParameter { ParameterName = parameter.Key, NpgsqlDbType = NpgsqlProviderManifest.GetNpgsqlDbType(((PrimitiveType)parameter.Value.EdmType).PrimitiveTypeKind) }; command.Parameters.Add(dbParameter); } TranslateCommandTree(serverVersion, commandTree, command); return(command); }