diff --git a/src/NHibernate.Test/NHSpecificTest/NH901/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/NH901/Fixture.cs index bc430d8d8a4..35e39ce1c87 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH901/Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH901/Fixture.cs @@ -1,19 +1,13 @@ +using System.Collections; +using NHibernate.Cfg; +using NHibernate.Mapping.ByCode; +using NHibernate.Type; using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Text; - namespace NHibernate.Test.NHSpecificTest.NH901 { - [TestFixture] - public class Fixture : BugTestCase + public abstract class FixtureBase : TestCase { - public override string BugNumber - { - get { return "NH901"; } - } - private new ISession OpenSession(IInterceptor interceptor) { lastOpenedSession = sessions.OpenSession(interceptor); @@ -99,12 +93,56 @@ public void ReplaceValueTypeComponentWithSameValueDoesNotMakeItDirty() } } + [TestFixture] + public class Fixture : FixtureBase + { + protected override string MappingsAssembly + { + get { return "NHibernate.Test"; } + } + + protected override IList Mappings + { + get { return new[] {"NHSpecificTest.NH901.Mappings.hbm.xml"}; } + } + } + + [TestFixture] + public class FixtureByCode : FixtureBase + { + protected override IList Mappings + { + get { return new string[0]; } + } + + protected override string MappingsAssembly + { + get { return null; } + } + + protected override void AddMappings(Configuration configuration) + { + var mapper = new ModelMapper(); + mapper.Class(rc => + { + rc.Table("NH901_Person"); + rc.Id(x => x.Name, m => m.Generator(Generators.Assigned)); + rc.Component(x => x.Address, cm => + { + cm.Property(x => x.City); + cm.Property(x => x.Street); + }); + }); + configuration.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); + } + } + public class InterceptorStub : EmptyInterceptor { public object entityToCheck; public bool entityWasDeemedDirty = false; - public override bool OnFlushDirty(object entity, object id, object[] currentState, object[] previousState, string[] propertyNames, NHibernate.Type.IType[] types) + public override bool OnFlushDirty(object entity, object id, object[] currentState, object[] previousState, string[] propertyNames, IType[] types) { if (entity == entityToCheck) { entityWasDeemedDirty = true; } diff --git a/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs b/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs index 37f27aa0299..91791587b14 100644 --- a/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs +++ b/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs @@ -3,7 +3,7 @@ namespace NHibernate.Mapping.ByCode.Conformist { - public class ComponentMapping : ComponentCustomizer where T : class + public class ComponentMapping : ComponentCustomizer { public ComponentMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { } } diff --git a/src/NHibernate/Mapping/ByCode/IBagPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/IBagPropertiesMapper.cs index 6cd38f10b83..dcd47449d39 100644 --- a/src/NHibernate/Mapping/ByCode/IBagPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IBagPropertiesMapper.cs @@ -2,5 +2,6 @@ namespace NHibernate.Mapping.ByCode { public interface IBagPropertiesMapper : ICollectionPropertiesMapper {} - public interface IBagPropertiesMapper : ICollectionPropertiesMapper where TEntity : class {} + public interface IBagPropertiesMapper : ICollectionPropertiesMapper + {} } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/IClassMapper.cs b/src/NHibernate/Mapping/ByCode/IClassMapper.cs index 5e715cf1075..e16e41d2758 100644 --- a/src/NHibernate/Mapping/ByCode/IClassMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IClassMapper.cs @@ -47,10 +47,10 @@ public interface IClassAttributesMapper : IEntityAttributesMapper, IEnt void Id(Expression> idProperty, Action idMapper); void Id(string notVisiblePropertyOrFieldName, Action idMapper); - void ComponentAsId(Expression> idProperty) where TComponent : class; - void ComponentAsId(Expression> idProperty, Action> idMapper) where TComponent : class; - void ComponentAsId(string notVisiblePropertyOrFieldName) where TComponent : class; - void ComponentAsId(string notVisiblePropertyOrFieldName, Action> idMapper) where TComponent : class; + void ComponentAsId(Expression> idProperty); + void ComponentAsId(Expression> idProperty, Action> idMapper); + void ComponentAsId(string notVisiblePropertyOrFieldName); + void ComponentAsId(string notVisiblePropertyOrFieldName, Action> idMapper); void ComposedId(Action> idPropertiesMapping); diff --git a/src/NHibernate/Mapping/ByCode/ICollectionPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/ICollectionPropertiesMapper.cs index 442359a3dc2..2bf5c4d570b 100644 --- a/src/NHibernate/Mapping/ByCode/ICollectionPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/ICollectionPropertiesMapper.cs @@ -31,7 +31,7 @@ public interface ICollectionPropertiesMapper : IEntityPropertyMapper, ICollectio void Persister(System.Type persister); } - public interface ICollectionPropertiesMapper : IEntityPropertyMapper, ICollectionSqlsMapper where TEntity : class + public interface ICollectionPropertiesMapper : IEntityPropertyMapper, ICollectionSqlsMapper { void Inverse(bool value); void Mutable(bool value); diff --git a/src/NHibernate/Mapping/ByCode/IComponentMapper.cs b/src/NHibernate/Mapping/ByCode/IComponentMapper.cs index bd6d7113bd3..3ca8969afcd 100644 --- a/src/NHibernate/Mapping/ByCode/IComponentMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IComponentMapper.cs @@ -28,5 +28,6 @@ public interface IComponentAttributesMapper : IEntityPropertyMapper void Class() where TConcrete : TComponent; } - public interface IComponentMapper : IComponentAttributesMapper, IPropertyContainerMapper where TComponent : class {} + public interface IComponentMapper : IComponentAttributesMapper, IPropertyContainerMapper + {} } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/IDynamicComponentAttributesMapper.cs b/src/NHibernate/Mapping/ByCode/IDynamicComponentAttributesMapper.cs index 016742ae55c..d580b5cc1e7 100644 --- a/src/NHibernate/Mapping/ByCode/IDynamicComponentAttributesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IDynamicComponentAttributesMapper.cs @@ -16,6 +16,7 @@ public interface IDynamicComponentAttributesMapper : IEntityProperty void Unique(bool unique); } - public interface IDynamicComponentMapper : IDynamicComponentAttributesMapper, IPropertyContainerMapper where TComponent : class { } + public interface IDynamicComponentMapper : IDynamicComponentAttributesMapper, IPropertyContainerMapper + { } } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/IIdBagPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/IIdBagPropertiesMapper.cs index 94317db6430..79711f42312 100644 --- a/src/NHibernate/Mapping/ByCode/IIdBagPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IIdBagPropertiesMapper.cs @@ -6,7 +6,7 @@ public interface IIdBagPropertiesMapper : ICollectionPropertiesMapper void Id(Action idMapping); } - public interface IIdBagPropertiesMapper : ICollectionPropertiesMapper where TEntity : class + public interface IIdBagPropertiesMapper : ICollectionPropertiesMapper { void Id(Action idMapping); } diff --git a/src/NHibernate/Mapping/ByCode/IKeyMapper.cs b/src/NHibernate/Mapping/ByCode/IKeyMapper.cs index fe4d10add5f..3afd6de5563 100644 --- a/src/NHibernate/Mapping/ByCode/IKeyMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IKeyMapper.cs @@ -29,7 +29,7 @@ public interface IKeyMapper : IColumnsMapper void ForeignKey(string foreignKeyName); } - public interface IKeyMapper : IColumnsMapper where TEntity : class + public interface IKeyMapper : IColumnsMapper { void OnDelete(OnDeleteAction deleteAction); void PropertyRef(Expression> propertyGetter); diff --git a/src/NHibernate/Mapping/ByCode/IListPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/IListPropertiesMapper.cs index 9d9c01c4ade..793ec934afe 100644 --- a/src/NHibernate/Mapping/ByCode/IListPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IListPropertiesMapper.cs @@ -7,7 +7,7 @@ public interface IListPropertiesMapper : ICollectionPropertiesMapper void Index(Action listIndexMapping); } - public interface IListPropertiesMapper : ICollectionPropertiesMapper where TEntity : class + public interface IListPropertiesMapper : ICollectionPropertiesMapper { void Index(Action listIndexMapping); } diff --git a/src/NHibernate/Mapping/ByCode/IMapPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/IMapPropertiesMapper.cs index c36e559c0ed..bc80464b0b1 100644 --- a/src/NHibernate/Mapping/ByCode/IMapPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IMapPropertiesMapper.cs @@ -2,5 +2,6 @@ namespace NHibernate.Mapping.ByCode { public interface IMapPropertiesMapper : ICollectionPropertiesMapper {} - public interface IMapPropertiesMapper : ICollectionPropertiesMapper where TEntity : class {} + public interface IMapPropertiesMapper : ICollectionPropertiesMapper + {} } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/IPlainPropertyContainerMapper.cs b/src/NHibernate/Mapping/ByCode/IPlainPropertyContainerMapper.cs index dec00aba56f..115eae3ef56 100644 --- a/src/NHibernate/Mapping/ByCode/IPlainPropertyContainerMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IPlainPropertyContainerMapper.cs @@ -37,19 +37,13 @@ public interface IMinimalPlainPropertyContainerMapper public interface IBasePlainPropertyContainerMapper : IMinimalPlainPropertyContainerMapper { - void Component(Expression> property, - Action> mapping) where TComponent : class; - void Component(Expression> property) where TComponent : class; - void Component(Expression> property, - TComponent dynamicComponentTemplate, - Action> mapping) where TComponent : class; - - void Component(string notVisiblePropertyOrFieldName, - Action> mapping) where TComponent : class; - void Component(string notVisiblePropertyOrFieldName) where TComponent : class; - void Component(string notVisiblePropertyOrFieldName, - TComponent dynamicComponentTemplate, - Action> mapping) where TComponent : class; + void Component(Expression> property, Action> mapping); + void Component(Expression> property); + void Component(Expression> property, TComponent dynamicComponentTemplate, Action> mapping); + + void Component(string notVisiblePropertyOrFieldName, Action> mapping); + void Component(string notVisiblePropertyOrFieldName); + void Component(string notVisiblePropertyOrFieldName, TComponent dynamicComponentTemplate, Action> mapping); void Any(Expression> property, System.Type idTypeOfMetaType, Action mapping) where TProperty : class; void Any(string notVisiblePropertyOrFieldName, System.Type idTypeOfMetaType, Action mapping) where TProperty : class; diff --git a/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs b/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs index 843a24abb05..3375084659e 100644 --- a/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs +++ b/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs @@ -26,7 +26,7 @@ void IdBag(MemberInfo property, Action collectionMapping public interface IPropertyContainerMapper : ICollectionPropertiesContainerMapper, IPlainPropertyContainerMapper {} - public interface ICollectionPropertiesContainerMapper where TEntity : class + public interface ICollectionPropertiesContainerMapper { void Set(Expression>> property, Action> collectionMapping, @@ -92,5 +92,6 @@ void IdBag(string notVisiblePropertyOrFieldName, Action> collectionMapping); } - public interface IPropertyContainerMapper : ICollectionPropertiesContainerMapper, IPlainPropertyContainerMapper where TEntity : class {} + public interface IPropertyContainerMapper : ICollectionPropertiesContainerMapper, IPlainPropertyContainerMapper + {} } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/ISetPropertiesMapper.cs b/src/NHibernate/Mapping/ByCode/ISetPropertiesMapper.cs index a906d7d34e3..0be79f70849 100644 --- a/src/NHibernate/Mapping/ByCode/ISetPropertiesMapper.cs +++ b/src/NHibernate/Mapping/ByCode/ISetPropertiesMapper.cs @@ -2,5 +2,6 @@ namespace NHibernate.Mapping.ByCode { public interface ISetPropertiesMapper : ICollectionPropertiesMapper {} - public interface ISetPropertiesMapper : ICollectionPropertiesMapper where TEntity : class {} + public interface ISetPropertiesMapper : ICollectionPropertiesMapper + {} } \ No newline at end of file diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/BagPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/BagPropertiesCustomizer.cs index dfb5fd825d7..a6ee995d8f2 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/BagPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/BagPropertiesCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class BagPropertiesCustomizer : CollectionPropertiesCustomizer, IBagPropertiesMapper where TEntity : class + public class BagPropertiesCustomizer : CollectionPropertiesCustomizer, IBagPropertiesMapper { public BagPropertiesCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, PropertyPath propertyPath, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, propertyPath, customizersHolder) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs index d2de6bdf921..1364bba265e 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs @@ -66,29 +66,29 @@ public void Id(string notVisiblePropertyOrFieldName, Action idMapper) CustomizersHolder.AddCustomizer(typeof(TEntity), m => m.Id(member, idMapper)); } - public void ComponentAsId(Expression> idProperty) where TComponent : class + public void ComponentAsId(Expression> idProperty) { ComponentAsId(idProperty, x => { }); } - public void ComponentAsId(Expression> idProperty, Action> idMapper) where TComponent : class + public void ComponentAsId(Expression> idProperty, Action> idMapper) { var memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(idProperty); RegisterComponentAsIdMapping(idMapper, memberOf); } - public void ComponentAsId(string notVisiblePropertyOrFieldName) where TComponent : class + public void ComponentAsId(string notVisiblePropertyOrFieldName) { ComponentAsId(notVisiblePropertyOrFieldName, x => { }); } - public void ComponentAsId(string notVisiblePropertyOrFieldName, Action> idMapper) where TComponent : class + public void ComponentAsId(string notVisiblePropertyOrFieldName, Action> idMapper) { var member = typeof(TEntity).GetPropertyOrFieldMatchingName(notVisiblePropertyOrFieldName); RegisterComponentAsIdMapping(idMapper, member); } - private void RegisterComponentAsIdMapping(Action> idMapper, params MemberInfo[] members) where TComponent : class + private void RegisterComponentAsIdMapping(Action> idMapper, params MemberInfo[] members) { foreach (var member in members) { diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionKeyCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionKeyCustomizer.cs index 51e409dcbe5..8d59cfadcda 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionKeyCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionKeyCustomizer.cs @@ -5,7 +5,6 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { public class CollectionKeyCustomizer : IKeyMapper - where TEntity : class { private readonly PropertyPath propertyPath; diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs index e79236f0f76..349969bc755 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/CollectionPropertiesCustomizer.cs @@ -7,7 +7,6 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { public class CollectionPropertiesCustomizer : ICollectionPropertiesMapper - where TEntity : class { private readonly IKeyMapper keyMapper; diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs index 7334a20f281..49f16ba51f4 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentAsIdCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class ComponentAsIdCustomizer : PropertyContainerCustomizer, IComponentAsIdMapper where TComponent : class + public class ComponentAsIdCustomizer : PropertyContainerCustomizer, IComponentAsIdMapper { public ComponentAsIdCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, ICustomizersHolder customizersHolder, PropertyPath propertyPath) : base(explicitDeclarationsHolder, customizersHolder, propertyPath) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs index 80346ea5135..cb91ae7eef6 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ComponentCustomizer.cs @@ -5,7 +5,6 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { public class ComponentCustomizer : PropertyContainerCustomizer, IComponentMapper, IConformistHoldersProvider - where TComponent : class { public ComponentCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, customizersHolder, null) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs index c08d14ecfd2..d409c6d57ee 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/DynamicComponentCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class DynamicComponentCustomizer : PropertyContainerCustomizer, IDynamicComponentMapper where TComponent : class + public class DynamicComponentCustomizer : PropertyContainerCustomizer, IDynamicComponentMapper { public DynamicComponentCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, ICustomizersHolder customizersHolder, PropertyPath propertyPath) : base(explicitDeclarationsHolder, customizersHolder, propertyPath) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/IdBagPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/IdBagPropertiesCustomizer.cs index 171d6157e8e..878fed3904a 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/IdBagPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/IdBagPropertiesCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class IdBagPropertiesCustomizer : CollectionPropertiesCustomizer, IIdBagPropertiesMapper where TEntity : class + public class IdBagPropertiesCustomizer : CollectionPropertiesCustomizer, IIdBagPropertiesMapper { public IdBagPropertiesCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, PropertyPath propertyPath, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, propertyPath, customizersHolder) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ListPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ListPropertiesCustomizer.cs index 04f2143f6fb..5901550aa6c 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ListPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ListPropertiesCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class ListPropertiesCustomizer : CollectionPropertiesCustomizer, IListPropertiesMapper where TEntity : class + public class ListPropertiesCustomizer : CollectionPropertiesCustomizer, IListPropertiesMapper { public ListPropertiesCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, PropertyPath propertyPath, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, propertyPath, customizersHolder) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/MapPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/MapPropertiesCustomizer.cs index 0195d196eaf..0114c941c96 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/MapPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/MapPropertiesCustomizer.cs @@ -3,7 +3,6 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { public class MapPropertiesCustomizer : CollectionPropertiesCustomizer, IMapPropertiesMapper - where TEntity : class { public MapPropertiesCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, PropertyPath propertyPath, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, propertyPath, customizersHolder) diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs index 4ea5ec54b80..b3119f6244a 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs @@ -6,7 +6,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class PropertyContainerCustomizer where TEntity : class + public class PropertyContainerCustomizer { private readonly IModelExplicitDeclarationsHolder explicitDeclarationsHolder; @@ -69,26 +69,23 @@ protected void RegistePropertyMapping(Action mapping, params Me } public void Component(Expression> property, Action> mapping) - where TComponent : class { RegisterComponentMapping(property, mapping); } - public void Component(Expression> property) where TComponent : class + public void Component(Expression> property) { RegisterComponentMapping(property, x => { }); } protected virtual void RegisterComponentMapping(Expression> property, Action> mapping) - where TComponent : class { MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property); MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property); - RegisterComponentMapping(mapping, member, memberOf); + RegisterComponentMapping(mapping, member, memberOf); } protected void RegisterComponentMapping(Action> mapping, params MemberInfo[] members) - where TComponent : class { foreach (var member in members) { @@ -96,22 +93,19 @@ protected void RegisterComponentMapping(Action(Expression> property, - TComponent dynamicComponentTemplate, - Action> mapping) where TComponent : class + public void Component(Expression> property, TComponent dynamicComponentTemplate, Action> mapping) { RegisterDynamicComponentMapping(property, mapping); } - protected virtual void RegisterDynamicComponentMapping(Expression> property, Action> mapping) where TComponent : class + protected virtual void RegisterDynamicComponentMapping(Expression> property, Action> mapping) { MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property); MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property); - RegisterDynamicComponentMapping(mapping, member, memberOf); + RegisterDynamicComponentMapping(mapping, member, memberOf); } protected void RegisterDynamicComponentMapping(Action> mapping, params MemberInfo[] members) - where TComponent : class { foreach (var member in members) { @@ -463,7 +457,7 @@ public void ManyToOne(string notVisiblePropertyOrFieldName, Action(mapping, member, memberOf); } - public void Component(string notVisiblePropertyOrFieldName, Action> mapping) where TComponent : class + public void Component(string notVisiblePropertyOrFieldName, Action> mapping) { MemberInfo member = GetPropertyOrFieldMatchingNameOrThrow(notVisiblePropertyOrFieldName); var propertyOrFieldType = member.GetPropertyOrFieldType(); @@ -476,12 +470,12 @@ public void Component(string notVisiblePropertyOrFieldName, Action(mapping, member, memberOf); } - public void Component(string notVisiblePropertyOrFieldName) where TComponent : class + public void Component(string notVisiblePropertyOrFieldName) { Component(notVisiblePropertyOrFieldName, x => { }); } - public void Component(string notVisiblePropertyOrFieldName, TComponent dynamicComponentTemplate, Action> mapping) where TComponent : class + public void Component(string notVisiblePropertyOrFieldName, TComponent dynamicComponentTemplate, Action> mapping) { MemberInfo member = GetPropertyOrFieldMatchingNameOrThrow(notVisiblePropertyOrFieldName); MemberInfo memberOf = member.GetMemberFromReflectedType(typeof(TEntity)); diff --git a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SetPropertiesCustomizer.cs b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SetPropertiesCustomizer.cs index e6ff2b146c7..dd733697ebe 100644 --- a/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SetPropertiesCustomizer.cs +++ b/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SetPropertiesCustomizer.cs @@ -2,7 +2,7 @@ namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl { - public class SetPropertiesCustomizer : CollectionPropertiesCustomizer, ISetPropertiesMapper where TEntity : class + public class SetPropertiesCustomizer : CollectionPropertiesCustomizer, ISetPropertiesMapper { public SetPropertiesCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, PropertyPath propertyPath, ICustomizersHolder customizersHolder) : base(explicitDeclarationsHolder, propertyPath, customizersHolder) diff --git a/src/NHibernate/Mapping/ByCode/ModelMapper.cs b/src/NHibernate/Mapping/ByCode/ModelMapper.cs index 08360fc805d..b4624ec934d 100644 --- a/src/NHibernate/Mapping/ByCode/ModelMapper.cs +++ b/src/NHibernate/Mapping/ByCode/ModelMapper.cs @@ -526,7 +526,7 @@ public void UnionSubclass(Action> customi customizeAction(customizer); } - public void Component(Action> customizeAction) where TComponent : class + public void Component(Action> customizeAction) { var customizer = new ComponentCustomizer(explicitDeclarationsHolder, customizerHolder); customizeAction(customizer);