Commit 24e55162 authored by Marc Gravell's avatar Marc Gravell

Fix problem with DynamicParameters.Get<T> being called before the parameters have been added

parent 808c2708
...@@ -4851,7 +4851,9 @@ public IEnumerable<string> ParameterNames ...@@ -4851,7 +4851,9 @@ public IEnumerable<string> ParameterNames
/// <returns>The value, note DBNull.Value is not returned, instead the value is returned as null</returns> /// <returns>The value, note DBNull.Value is not returned, instead the value is returned as null</returns>
public T Get<T>(string name) public T Get<T>(string name)
{ {
var val = parameters[Clean(name)].AttachedParam.Value; var paramInfo = parameters[Clean(name)];
var attachedParam = paramInfo.AttachedParam;
object val = attachedParam == null ? paramInfo.Value : attachedParam.Value;
if (val == DBNull.Value) if (val == DBNull.Value)
{ {
if (default(T) != null) if (default(T) != null)
......
...@@ -4565,5 +4565,13 @@ public void TestPostresqlArrayParameters() ...@@ -4565,5 +4565,13 @@ public void TestPostresqlArrayParameters()
} }
} }
#endif #endif
public void SO30156367_DynamicParamsWithoutExec()
{
var dbParams = new DynamicParameters();
dbParams.Add("Field1", 1);
var value = dbParams.Get<int>("Field1");
value.IsEqualTo(1);
}
} }
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata schemaVersion="2"> <metadata schemaVersion="2">
<id>Dapper</id> <id>Dapper</id>
<version>1.40</version> <version>1.42</version>
<title>Dapper dot net</title> <title>Dapper dot net</title>
<authors>Sam Saffron,Marc Gravell</authors> <authors>Sam Saffron,Marc Gravell</authors>
<owners>Sam Saffron,Marc Gravell</owners> <owners>Sam Saffron,Marc Gravell</owners>
......
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