Commit 4012fbfe authored by johandanforth's avatar johandanforth

Fix for issue #361

parent 7f22bff5
...@@ -402,6 +402,8 @@ public void GetAll() ...@@ -402,6 +402,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);
} }
} }
......
...@@ -468,7 +468,7 @@ private static ISqlAdapter GetFormatter(IDbConnection connection) ...@@ -468,7 +468,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)
{ {
...@@ -482,10 +482,10 @@ public static T GetInterfaceProxy<T>() ...@@ -482,10 +482,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);
...@@ -509,12 +509,8 @@ public static T GetInterfaceProxy<T>() ...@@ -509,12 +509,8 @@ public static T GetInterfaceProxy<T>()
var generatedType = typeBuilder.CreateType(); var generatedType = typeBuilder.CreateType();
//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;
} }
......
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