@@ -33,37 +33,17 @@ public AutoMappingOverrideAlteration(Assembly overrideAssembly)
33
33
public void Alter ( AutoPersistenceModel model )
34
34
{
35
35
// find all types deriving from IAutoMappingOverride<T>
36
- var types = from type in assembly . GetExportedTypes ( )
37
- let entity = ( from interfaceType in type . GetInterfaces ( )
38
- where interfaceType . IsGenericType && interfaceType . GetGenericTypeDefinition ( ) == typeof ( IAutoMappingOverride < > )
39
- select interfaceType . GetGenericArguments ( ) [ 0 ] ) . FirstOrDefault ( )
40
- where entity != null
41
- select new { OverrideType = type , EntityType = entity } ;
36
+ var types = from type in assembly . GetExportedTypes ( )
37
+ let entity = ( from interfaceType in type . GetInterfaces ( )
38
+ where interfaceType . IsGenericType && interfaceType . GetGenericTypeDefinition ( ) == typeof ( IAutoMappingOverride < > )
39
+ select interfaceType . GetGenericArguments ( ) [ 0 ] ) . FirstOrDefault ( )
40
+ where entity != null
41
+ select type ;
42
42
43
- foreach ( var typeMatch in types )
43
+ foreach ( var type in types )
44
44
{
45
- var mappingOverride = Activator . CreateInstance ( typeMatch . OverrideType ) ;
46
- var autoMapType = typeof ( AutoMapping < > ) . MakeGenericType ( typeMatch . EntityType ) ;
47
- var mapping = ( IMappingProvider ) Activator . CreateInstance ( autoMapType , new List < Member > ( ) ) ;
48
-
49
- // HACK: call the Override method with the generic AutoMapping<T>
50
- var overrideMethod = typeMatch . OverrideType
51
- . GetMethod ( "Override" ) ;
52
-
53
- GetType ( )
54
- . GetMethod ( "AddOverride" , BindingFlags . Instance | BindingFlags . NonPublic )
55
- . MakeGenericMethod ( typeMatch . EntityType )
56
- . Invoke ( this , new [ ] { model , typeMatch . EntityType , mappingOverride } ) ;
45
+ model . Override ( type ) ;
57
46
}
58
47
}
59
-
60
- private void AddOverride < T > ( AutoPersistenceModel model , Type entity , IAutoMappingOverride < T > mappingOverride )
61
- {
62
- model . AddOverride ( entity , x =>
63
- {
64
- if ( x is AutoMapping < T > )
65
- mappingOverride . Override ( ( AutoMapping < T > ) x ) ;
66
- } ) ;
67
- }
68
48
}
69
49
}
0 commit comments