From: <fab...@us...> - 2011-04-13 17:44:42
|
Revision: 5689 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5689&view=rev Author: fabiomaulo Date: 2011-04-13 17:44:36 +0000 (Wed, 13 Apr 2011) Log Message: ----------- Improved filter for conformist mapping registration Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 17:34:36 UTC (rev 5688) +++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 17:44:36 UTC (rev 5689) @@ -1645,7 +1645,7 @@ { throw new ArgumentNullException("types"); } - foreach (var type in types.Where(x=> typeof(IConformistHoldersProvider).IsAssignableFrom(x))) + foreach (var type in types.Where(x=> typeof(IConformistHoldersProvider).IsAssignableFrom(x) && !x.IsGenericTypeDefinition)) { AddMapping(type); } Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs 2011-04-13 17:34:36 UTC (rev 5688) +++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs 2011-04-13 17:44:36 UTC (rev 5689) @@ -15,6 +15,14 @@ public string Something { get; set; } } + private class MyClassBaseMap<T> : ClassMapping<T> where T:MyClass + { + public MyClassBaseMap() + { + Id(x => x.Id, map => map.Column("MyClassId")); + } + } + private class MyClassMap: ClassMapping<MyClass> { public MyClassMap() @@ -62,7 +70,7 @@ public void WhenRegisterClassMappingThroughCollectionOfTypeThenFilterValidMappings() { var mapper = new ModelMapper(); - mapper.Executing(x=> x.AddMappings(new[] { typeof(object), typeof(MyClassMap), typeof(MyClass) })).NotThrows(); + mapper.Executing(x => x.AddMappings(new[] { typeof(object), typeof(MyClassMap), typeof(MyClass), typeof(MyClassBaseMap<>) })).NotThrows(); var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) }); ModelIsWellFormed(hbmMapping); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |