Commit a0b36c47 authored by kmontrose's avatar kmontrose

Adding join and fixing a bug with chaining dynamic parameters.

parent a1d2efd5
...@@ -563,10 +563,15 @@ public SqlBuilder Select(string sql, dynamic parameters = null) ...@@ -563,10 +563,15 @@ public SqlBuilder Select(string sql, dynamic parameters = null)
return this; return this;
} }
string parameterClause = Guid.NewGuid().ToString();
public SqlBuilder AddParameters(dynamic parameters) public SqlBuilder AddParameters(dynamic parameters)
{ {
AddClause(parameterClause, "", parameters, ""); AddClause("--parameters", "", parameters, "");
return this;
}
public SqlBuilder Join(string sql, dynamic parameters = null)
{
AddClause("join", sql, parameters, joiner: "\nJOIN ", prefix: "\nJOIN", postfix: "\n");
return this; return this;
} }
} }
......
...@@ -1698,15 +1698,38 @@ object param ...@@ -1698,15 +1698,38 @@ object param
#else #else
dynamic param dynamic param
#endif #endif
) )
{ {
object obj = param as object; object obj = param as object;
if (obj != null) if (obj != null)
{
var subDynamic = obj as DynamicParameters;
if (subDynamic == null)
{ {
templates = templates ?? new List<object>(); templates = templates ?? new List<object>();
templates.Add(obj); templates.Add(obj);
} }
else
{
if (subDynamic.parameters != null)
{
foreach (var kvp in subDynamic.parameters)
{
parameters.Add(kvp.Key, kvp.Value);
}
}
if (subDynamic.templates != null)
{
foreach (var t in subDynamic.templates)
{
templates.Add(t);
}
}
}
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment