|
From: <fab...@us...> - 2011-04-03 16:35:49
|
Revision: 5595
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5595&view=rev
Author: fabiomaulo
Date: 2011-04-03 16:35:43 +0000 (Sun, 03 Apr 2011)
Log Message:
-----------
Fixed poid properties registration
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/PoidTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-03 16:25:16 UTC (rev 5594)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-03 16:35:43 UTC (rev 5595)
@@ -27,11 +27,13 @@
public void Id<TProperty>(Expression<Func<TEntity, TProperty>> idProperty, Action<IIdMapper> idMapper)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(idProperty);
+ ExplicitDeclarationsHolder.AddAsPoid(member);
CustomizersHolder.AddCustomizer(typeof (TEntity), m => m.Id(member, idMapper));
}
public void Id(FieldInfo idProperty, Action<IIdMapper> idMapper)
{
+ ExplicitDeclarationsHolder.AddAsPoid(idProperty);
CustomizersHolder.AddCustomizer(typeof(TEntity), m => m.Id(idProperty, idMapper));
}
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/PoidTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/PoidTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/PoidTests.cs 2011-04-03 16:35:43 UTC (rev 5595)
@@ -0,0 +1,24 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ExpliticMappingTests
+{
+ public class PoidTests
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void WhenPropertyUsedAsPoidThenRegister()
+ {
+ var inspector = new ExplicitlyDeclaredModel();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<MyClass>(map => map.Id(x => x.Id, idmap => { }));
+
+ inspector.IsPersistentId(For<MyClass>.Property(x => x.Id)).Should().Be.True();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-03 16:25:16 UTC (rev 5594)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-03 16:35:43 UTC (rev 5595)
@@ -520,6 +520,7 @@
<Compile Include="MappingByCode\ExplicitlyDeclaredModelTests\UnionSubclassSequenceRegistrationTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\MappingOfPrivateMembersOnRootEntity.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\NaturalIdTests.cs" />
+ <Compile Include="MappingByCode\ExpliticMappingTests\PoidTests.cs" />
<Compile Include="MappingByCode\For.cs" />
<Compile Include="MappingByCode\NatureDemo\Naturalness\Address.cs" />
<Compile Include="MappingByCode\NatureDemo\Naturalness\Animal.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|