Commit aa601bff authored by Sam Saffron's avatar Sam Saffron

merge

parents e11257fd 182e98a5
......@@ -178,7 +178,9 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
var identity = new Identity(sql, cnn, typeof(T), param == null ? null : param.GetType());
var info = GetCacheInfo(param, identity);
using (var reader = GetReader(cnn, transaction, sql, info.ParamReader, param))
using (var cmd = SetupCommand(cnn, transaction, sql, info.ParamReader, param))
{
using (var reader = cmd.ExecuteReader())
{
if (info.Deserializer == null)
{
......@@ -186,7 +188,7 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
queryCache[identity] = info;
}
var deserializer = (Func<IDataReader,T>)info.Deserializer;
var deserializer = (Func<IDataReader, T>)info.Deserializer;
while (reader.Read())
{
......@@ -194,6 +196,7 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
}
}
}
}
/// <summary>
///
......@@ -212,7 +215,9 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
var identity = new Identity(sql, cnn, typeof(T), param == null ? null : param.GetType());
var info = GetCacheInfo(param, identity);
using (var reader = GetReader(cnn, transaction, sql, info.ParamReader, param))
using (var cmd = SetupCommand(cnn, transaction, sql, info.ParamReader, param))
{
using (var reader = cmd.ExecuteReader())
{
if (info.Deserializer == null)
{
......@@ -249,8 +254,8 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
queryCache[identity] = info;
}
var deserializer = (Func<IDataReader, T>)info.Deserializer;
var deserializer2 = (Func<IDataReader, U>)info.Deserializer2;
var deserializer = (Func<IDataReader, T>) info.Deserializer;
var deserializer2 = (Func<IDataReader, U>) info.Deserializer2;
while (reader.Read())
{
......@@ -260,6 +265,7 @@ private static IEnumerable<T> QueryInternal<T>(this IDbConnection cnn, string sq
}
}
}
}
private static CacheInfo GetCacheInfo(object param, Identity identity)
{
......@@ -504,11 +510,11 @@ public static void PackListParameters(IDbCommand command, string namePrefix, obj
return (Action<IDbCommand, object>)dm.CreateDelegate(typeof(Action<IDbCommand, object>));
}
private static IDbCommand SetupCommand(IDbConnection cnn, IDbTransaction tranaction, string sql, Action<IDbCommand, object> paramReader, object obj)
private static IDbCommand SetupCommand(IDbConnection cnn, IDbTransaction transaction, string sql, Action<IDbCommand, object> paramReader, object obj)
{
var cmd = cnn.CreateCommand();
cmd.Transaction = tranaction;
cmd.Transaction = transaction;
cmd.CommandText = sql;
if (paramReader != null)
{
......@@ -526,15 +532,6 @@ private static int ExecuteCommand(IDbConnection cnn, IDbTransaction tranaction,
}
}
private static IDataReader GetReader(IDbConnection cnn, IDbTransaction tranaction, string sql, Action<IDbCommand, object> paramReader, object obj)
{
using (var cmd = SetupCommand(cnn, tranaction, sql, paramReader, obj))
{
return cmd.ExecuteReader();
}
}
private static object GetStructDeserializer<T>(IDataReader reader)
{
Func<IDataReader, T> deserializer = null;
......
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