|
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.
|