Commit 63706bb8 authored by Nick Craver's avatar Nick Craver

Merge branch 'pr/368'

parents 65b26d6e 4012fbfe
...@@ -479,7 +479,7 @@ private static ISqlAdapter GetFormatter(IDbConnection connection) ...@@ -479,7 +479,7 @@ private static ISqlAdapter GetFormatter(IDbConnection connection)
static class ProxyGenerator static class ProxyGenerator
{ {
private static readonly Dictionary<Type, object> TypeCache = new Dictionary<Type, object>(); private static readonly Dictionary<Type, Type> TypeCache = new Dictionary<Type, Type>();
private static AssemblyBuilder GetAsmBuilder(string name) private static AssemblyBuilder GetAsmBuilder(string name)
{ {
...@@ -494,10 +494,10 @@ public static T GetInterfaceProxy<T>() ...@@ -494,10 +494,10 @@ public static T GetInterfaceProxy<T>()
{ {
Type typeOfT = typeof(T); Type typeOfT = typeof(T);
object k; Type k;
if (TypeCache.TryGetValue(typeOfT, out k)) if (TypeCache.TryGetValue(typeOfT, out k))
{ {
return (T)k; return (T)Activator.CreateInstance(k);
} }
var assemblyBuilder = GetAsmBuilder(typeOfT.Name); var assemblyBuilder = GetAsmBuilder(typeOfT.Name);
...@@ -525,12 +525,8 @@ public static T GetInterfaceProxy<T>() ...@@ -525,12 +525,8 @@ public static T GetInterfaceProxy<T>()
var generatedType = typeBuilder.CreateType(); var generatedType = typeBuilder.CreateType();
#endif #endif
//assemblyBuilder.Save(name + ".dll"); //NOTE: to save, uncomment TypeCache.Add(typeOfT, generatedType);
return (T)Activator.CreateInstance(generatedType);
var generatedObject = Activator.CreateInstance(generatedType);
TypeCache.Add(typeOfT, generatedObject);
return (T)generatedObject;
} }
......
...@@ -411,6 +411,8 @@ public void GetAll() ...@@ -411,6 +411,8 @@ public void GetAll()
users.Count.IsEqualTo(numberOfEntities); users.Count.IsEqualTo(numberOfEntities);
var iusers = connection.GetAll<IUser>().ToList(); var iusers = connection.GetAll<IUser>().ToList();
iusers.Count.IsEqualTo(numberOfEntities); iusers.Count.IsEqualTo(numberOfEntities);
for (var i = 0; i < numberOfEntities; i++)
iusers[i].Age.IsEqualTo(i);
} }
} }
......
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