You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
| 2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
| 2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
| 2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
| 2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
| 2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
| 2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
| 2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
| 2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <fab...@us...> - 2011-04-14 19:50:44
|
Revision: 5703
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5703&view=rev
Author: fabiomaulo
Date: 2011-04-14 19:50:38 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Minor (API simplified)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IPropertyContainerMapper.cs 2011-04-14 19:50:38 UTC (rev 5703)
@@ -31,14 +31,20 @@
void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping);
+ void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping);
void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping);
+ void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping);
void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping);
+ void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping);
void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping,
@@ -48,10 +54,14 @@
void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping);
+ void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
+ Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping);
void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping);
+ void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping);
}
public interface IPropertyContainerMapper<TEntity> : ICollectionPropertiesContainerMapper<TEntity>, IPlainPropertyContainerMapper<TEntity> where TEntity : class {}
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-14 19:50:38 UTC (rev 5703)
@@ -133,6 +133,12 @@
RegisterSetMapping(property, collectionMapping, mapping);
}
+ public void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping)
+ {
+ Set(property, collectionMapping, x => { });
+ }
+
protected virtual void RegisterSetMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
@@ -150,6 +156,11 @@
{
RegisterBagMapping(property, collectionMapping, mapping);
}
+ public void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping)
+ {
+ Bag(property, collectionMapping, x => { });
+ }
protected virtual void RegisterBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
@@ -168,6 +179,11 @@
{
RegisterListMapping(property, collectionMapping, mapping);
}
+ public void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping)
+ {
+ List(property, collectionMapping, x => { });
+ }
protected virtual void RegisterListMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
@@ -187,6 +203,11 @@
{
RegisterMapMapping(property, collectionMapping, keyMapping, mapping);
}
+ public void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
+ Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping)
+ {
+ Map(property, collectionMapping, keyMapping => { }, x => { });
+ }
protected virtual void RegisterMapMapping<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property, Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping, Action<IMapKeyRelation<TKey>> keyMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
@@ -217,6 +238,12 @@
RegisterIdBagMapping(property, collectionMapping, mapping);
}
+ public void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping)
+ {
+ RegisterIdBagMapping(property, collectionMapping, x => { });
+ }
+
protected virtual void RegisterIdBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 19:32:06
|
Revision: 5702
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5702&view=rev
Author: fabiomaulo
Date: 2011-04-14 19:31:59 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
by-code: Synchronize for entities
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IEntityAttributesMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -12,5 +12,6 @@
void BatchSize(int value);
void SelectBeforeUpdate(bool value);
void Persister<T>() where T : IEntityPersister;
+ void Synchronize(params string[] table);
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ClassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -247,6 +247,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize {table = x}).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -178,6 +178,11 @@
CustomizersHolder.AddCustomizer(typeof(TEntity), (IClassMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IClassMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -70,6 +70,12 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (IJoinedSubclassAttributesMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IJoinedSubclassAttributesMapper m) => m.Synchronize(table));
+
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/SubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -88,6 +88,11 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (ISubclassMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (ISubclassMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/UnionSubclassCustomizer.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -57,6 +57,11 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (IUnionSubclassAttributesMapper m) => m.Persister<T>());
}
+ public void Synchronize(params string[] table)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IUnionSubclassAttributesMapper m) => m.Synchronize(table));
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using NHibernate.Cfg.MappingSchema;
using NHibernate.Persister.Entity;
@@ -84,6 +85,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/SubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -123,6 +123,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs 2011-04-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/UnionSubclassMapper.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using NHibernate.Cfg.MappingSchema;
using NHibernate.Persister.Entity;
@@ -80,6 +81,18 @@
classMapping.persister = typeof (T).GetShortClassName(MapDoc);
}
+ public void Synchronize(params string[] table)
+ {
+ if (table == null)
+ {
+ return;
+ }
+ var existingSyncs = new HashSet<string>(classMapping.synchronize != null ? classMapping.synchronize.Select(x => x.table) : Enumerable.Empty<string>());
+ System.Array.ForEach(table.Where(x => x != null).Select(tableName => tableName.Trim()).Where(cleanedName => !"".Equals(cleanedName)).ToArray(),
+ x => existingSyncs.Add(x.Trim()));
+ classMapping.synchronize = existingSyncs.Select(x => new HbmSynchronize { table = x }).ToArray();
+ }
+
#endregion
#region Implementation of IEntitySqlsMapper
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,62 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Executing(x=>x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.RootClasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.RootClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,66 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.JoinedSubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.JoinedSubclasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.JoinedSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,67 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.SubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.SubClasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.SubClasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/TablesSincronizationTests.cs 2011-04-14 19:31:59 UTC (rev 5702)
@@ -0,0 +1,67 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.UnionSubclassMapperTests
+{
+ public class TablesSincronizationTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void WhenSetSyncWithNullThenDoesNotThrows()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Executing(x => x.Synchronize(null)).NotThrows();
+ }
+
+ [Test]
+ public void WhenSetSyncMixedWithNullAndEmptyThenAddOnlyValid()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("", " ATable ", " ", null);
+ mapdoc.UnionSubclasses[0].Synchronize.Single().table.Should().Be("ATable");
+ }
+
+ [Test]
+ public void WhenSetMoreSyncThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2", "T3", null);
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenAddAll()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3");
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+
+ [Test]
+ public void WhenSetMoreThenOnceThenDoesNotDuplicate()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Synchronize("T1", "T2");
+ rc.Synchronize("T3", "T2");
+ mapdoc.UnionSubclasses[0].Synchronize.Select(x => x.table).Should().Have.SameValuesAs("T1", "T2", "T3");
+ }
+ }
+}
\ 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-14 18:13:35 UTC (rev 5701)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 19:31:59 UTC (rev 5702)
@@ -541,14 +541,18 @@
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\SubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\SetPersisterTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ArrayCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\BagCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ComponentsTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 18:13:41
|
Revision: 5701
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5701&view=rev
Author: fabiomaulo
Date: 2011-04-14 18:13:35 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Added passing tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,25 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Persister<SingleTableEntityPersister>();
+ mapdoc.RootClasses[0].Persister.Should().Contain("SingleTableEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.JoinedSubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Persister<JoinedSubclassEntityPersister>();
+ mapdoc.JoinedSubclasses[0].Persister.Should().Contain("JoinedSubclassEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.SubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class HineritedSimple: EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(HineritedSimple), mapdoc);
+ rc.Persister<SingleTableEntityPersister>();
+ mapdoc.SubClasses[0].Persister.Should().Contain("SingleTableEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.UnionSubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Persister<UnionSubclassEntityPersister>();
+ mapdoc.UnionSubclasses[0].Persister.Should().Contain("UnionSubclassEntityPersister");
+ }
+ }
+}
\ 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-14 18:06:16 UTC (rev 5700)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:13:35 UTC (rev 5701)
@@ -540,11 +540,15 @@
<Compile Include="MappingByCode\For.cs" />
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinMapperTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\SubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ArrayCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\BagCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ComponentsTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 18:06:22
|
Revision: 5700
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5700&view=rev
Author: fabiomaulo
Date: 2011-04-14 18:06:16 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Minor (moved test)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs
Copied: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs (from rev 5698, trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 18:06:16 UTC (rev 5700)
@@ -0,0 +1,89 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class ClassMapperWithJoinPropertiesTest
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void WhenDefineJoinThenAddJoinWithTableNameAndKey()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x=> x.Id));
+ mapper.Join("MyTable",x => { });
+
+ var hbmClass = mapdoc.RootClasses[0];
+ var hbmJoin = hbmClass.Joins.Single();
+ hbmJoin.table.Should().Be("MyTable");
+ hbmJoin.key.Should().Not.Be.Null();
+ hbmJoin.key.column1.Should().Not.Be.Null();
+ }
+
+ [Test]
+ public void WhenDefineJoinThenCallJoinMapper()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ var called = false;
+ mapper.Join("MyTable", x =>
+ {
+ x.Should().Not.Be.Null();
+ called = true;
+ });
+
+ called.Should().Be.True();
+ }
+
+ //[Test]
+ //public void WhenDefineJoinTableNameAsTableOfRootThenThrows()
+ //{
+ // We can't give support to this check.
+ // The name of the table of the root-class may change during the mapping process where the name of the joined table is immutable (or...perhaps what is really immutable is the Id used in the explicit mapping ;) )
+ // We are using the name of the joined table as id for the splitted property group. I can't find another way to be 100% sure to re-use the same
+ // instance of JoinMapper when the Join method is used more than once.
+ // The case of "inconsistent" name should be checked by binders since the problem is the same using XML mappings
+ //
+ // var mapdoc = new HbmMapping();
+ // var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ // Executing.This(()=> mapper.Join("MyClass", x => { })).Should().Throw<MappingException>();
+ //}
+
+ [Test]
+ public void WhenDefineMoreJoinsThenTableNameShouldBeUnique()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ mapper.Join("T1", x => { });
+ mapper.Join("T2",x => { });
+
+ var hbmClass = mapdoc.RootClasses[0];
+ hbmClass.Joins.Should().Have.Count.EqualTo(2);
+ hbmClass.Joins.Select(x=> x.table).Should().Have.UniqueValues();
+ }
+
+ [Test]
+ public void WhenDefineMoreJoinsWithSameIdThenUseSameJoinMapperInstance()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ IJoinMapper firstCallInstance = null;
+ IJoinMapper secondCallInstance = null;
+
+ mapper.Join("T1", x => firstCallInstance = x);
+ mapper.Join("T1", x => secondCallInstance = x);
+
+ firstCallInstance.Should().Be.SameInstanceAs(secondCallInstance);
+ var hbmClass = mapdoc.RootClasses[0];
+ hbmClass.Joins.Should().Have.Count.EqualTo(1);
+ }
+ }
+}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 17:39:19 UTC (rev 5699)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 18:06:16 UTC (rev 5700)
@@ -1,89 +0,0 @@
-using System.Linq;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode;
-using NHibernate.Mapping.ByCode.Impl;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.MappersTests
-{
- public class ClassMapperWithJoinPropertiesTest
- {
- private class MyClass
- {
- public int Id { get; set; }
- }
-
- [Test]
- public void WhenDefineJoinThenAddJoinWithTableNameAndKey()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x=> x.Id));
- mapper.Join("MyTable",x => { });
-
- var hbmClass = mapdoc.RootClasses[0];
- var hbmJoin = hbmClass.Joins.Single();
- hbmJoin.table.Should().Be("MyTable");
- hbmJoin.key.Should().Not.Be.Null();
- hbmJoin.key.column1.Should().Not.Be.Null();
- }
-
- [Test]
- public void WhenDefineJoinThenCallJoinMapper()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- var called = false;
- mapper.Join("MyTable", x =>
- {
- x.Should().Not.Be.Null();
- called = true;
- });
-
- called.Should().Be.True();
- }
-
- //[Test]
- //public void WhenDefineJoinTableNameAsTableOfRootThenThrows()
- //{
- // We can't give support to this check.
- // The name of the table of the root-class may change during the mapping process where the name of the joined table is immutable (or...perhaps what is really immutable is the Id used in the explicit mapping ;) )
- // We are using the name of the joined table as id for the splitted property group. I can't find another way to be 100% sure to re-use the same
- // instance of JoinMapper when the Join method is used more than once.
- // The case of "inconsistent" name should be checked by binders since the problem is the same using XML mappings
- //
- // var mapdoc = new HbmMapping();
- // var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- // Executing.This(()=> mapper.Join("MyClass", x => { })).Should().Throw<MappingException>();
- //}
-
- [Test]
- public void WhenDefineMoreJoinsThenTableNameShouldBeUnique()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- mapper.Join("T1", x => { });
- mapper.Join("T2",x => { });
-
- var hbmClass = mapdoc.RootClasses[0];
- hbmClass.Joins.Should().Have.Count.EqualTo(2);
- hbmClass.Joins.Select(x=> x.table).Should().Have.UniqueValues();
- }
-
- [Test]
- public void WhenDefineMoreJoinsWithSameIdThenUseSameJoinMapperInstance()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- IJoinMapper firstCallInstance = null;
- IJoinMapper secondCallInstance = null;
-
- mapper.Join("T1", x => firstCallInstance = x);
- mapper.Join("T1", x => secondCallInstance = x);
-
- firstCallInstance.Should().Be.SameInstanceAs(secondCallInstance);
- var hbmClass = mapdoc.RootClasses[0];
- hbmClass.Joins.Should().Have.Count.EqualTo(1);
- }
- }
-}
\ 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-14 17:39:19 UTC (rev 5699)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:06:16 UTC (rev 5700)
@@ -539,7 +539,7 @@
<Compile Include="MappingByCode\ExpliticMappingTests\VersionTests.cs" />
<Compile Include="MappingByCode\For.cs" />
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
- <Compile Include="MappingByCode\MappersTests\ClassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 17:39:25
|
Revision: 5699
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5699&view=rev
Author: fabiomaulo
Date: 2011-04-14 17:39:19 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Fix NH-2652
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaMetadataUpdater.cs
trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaMetadataUpdaterTest/SchemaMetadataUpdaterFixture.cs
Modified: trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaMetadataUpdater.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaMetadataUpdater.cs 2011-04-13 23:07:40 UTC (rev 5698)
+++ trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaMetadataUpdater.cs 2011-04-14 17:39:19 UTC (rev 5699)
@@ -19,7 +19,7 @@
public static void QuoteTableAndColumns(Configuration configuration)
{
- ISet<string> reservedDb = GetReservedWords(configuration.Properties);
+ ISet<string> reservedDb = GetReservedWords(configuration.GetDerivedProperties());
foreach (var cm in configuration.ClassMappings)
{
QuoteTable(cm.Table, reservedDb);
Modified: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaMetadataUpdaterTest/SchemaMetadataUpdaterFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaMetadataUpdaterTest/SchemaMetadataUpdaterFixture.cs 2011-04-13 23:07:40 UTC (rev 5698)
+++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaMetadataUpdaterTest/SchemaMetadataUpdaterFixture.cs 2011-04-14 17:39:19 UTC (rev 5699)
@@ -163,5 +163,28 @@
new SchemaExport(configuration).Drop(false, false);
}
+ [Test]
+ public void WhenConfiguredOnlyExplicitAutoQuote()
+ {
+ var configuration = TestConfigurationHelper.GetDefaultConfiguration();
+ var configuredDialect = Dialect.Dialect.GetDialect();
+ if(!configuredDialect.DefaultProperties.ContainsKey(Environment.ConnectionDriver))
+ {
+ Assert.Ignore(GetType() + " does not apply to " + configuredDialect);
+ }
+ configuration.Properties.Remove(Environment.ConnectionDriver);
+ configuration.AddResource("NHibernate.Test.Tools.hbm2ddl.SchemaMetadataUpdaterTest.HeavyEntity.hbm.xml",
+ GetType().Assembly);
+
+ SchemaMetadataUpdater.QuoteTableAndColumns(configuration);
+
+ var cm = configuration.GetClassMapping(typeof(Order));
+ Assert.That(cm.Table.IsQuoted);
+ var culs = new List<Column>(cm.Table.ColumnIterator);
+ Assert.That(GetColumnByName(culs, "From").IsQuoted);
+ Assert.That(GetColumnByName(culs, "And").IsQuoted);
+ Assert.That(GetColumnByName(culs, "Select").IsQuoted);
+ Assert.That(!GetColumnByName(culs, "Name").IsQuoted);
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 23:07:47
|
Revision: 5698
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5698&view=rev
Author: fabiomaulo
Date: 2011-04-13 23:07:40 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fixed issue when use event to map collection key
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/BagCollectionTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 22:04:27 UTC (rev 5697)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 23:07:40 UTC (rev 5698)
@@ -1052,9 +1052,9 @@
ICollectionElementRelationMapper cert = DetermineCollectionElementRelationType(member, propertyPath, collectionElementType);
propertiesContainer.Bag(member, collectionPropertiesMapper =>
{
- InvokeBeforeMapBag(propertyPath, collectionPropertiesMapper);
cert.MapCollectionProperties(collectionPropertiesMapper);
- ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
+ InvokeBeforeMapBag(propertyPath, collectionPropertiesMapper);
+ ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
InvokeAfterMapBag(propertyPath, collectionPropertiesMapper);
}, cert.Map);
}
@@ -1066,9 +1066,9 @@
ICollectionElementRelationMapper cert = DetermineCollectionElementRelationType(member, propertyPath, collectionElementType);
propertiesContainer.List(member, collectionPropertiesMapper =>
{
- InvokeBeforeMapList(propertyPath, collectionPropertiesMapper);
cert.MapCollectionProperties(collectionPropertiesMapper);
- ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
+ InvokeBeforeMapList(propertyPath, collectionPropertiesMapper);
+ ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
InvokeAfterMapList(propertyPath, collectionPropertiesMapper);
}, cert.Map);
}
@@ -1089,9 +1089,9 @@
propertiesContainer.Map(member, collectionPropertiesMapper =>
{
- InvokeBeforeMapMap(propertyPath, collectionPropertiesMapper);
cert.MapCollectionProperties(collectionPropertiesMapper);
- ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
+ InvokeBeforeMapMap(propertyPath, collectionPropertiesMapper);
+ ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
InvokeAfterMapMap(propertyPath, collectionPropertiesMapper);
}, mkrm.Map, cert.Map);
}
@@ -1103,9 +1103,9 @@
ICollectionElementRelationMapper cert = DetermineCollectionElementRelationType(member, propertyPath, collectionElementType);
propertiesContainer.Set(member, collectionPropertiesMapper =>
{
- InvokeBeforeMapSet(propertyPath, collectionPropertiesMapper);
cert.MapCollectionProperties(collectionPropertiesMapper);
- ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
+ InvokeBeforeMapSet(propertyPath, collectionPropertiesMapper);
+ ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
InvokeAfterMapSet(propertyPath, collectionPropertiesMapper);
}, cert.Map);
}
@@ -1121,8 +1121,8 @@
}
propertiesContainer.IdBag(member, collectionPropertiesMapper =>
{
+ cert.MapCollectionProperties(collectionPropertiesMapper);
InvokeBeforeMapIdBag(propertyPath, collectionPropertiesMapper);
- cert.MapCollectionProperties(collectionPropertiesMapper);
ForEachMemberPath(member, propertyPath, pp => customizerHolder.InvokeCustomizers(pp, collectionPropertiesMapper));
InvokeAfterMapIdBag(propertyPath, collectionPropertiesMapper);
}, cert.Map);
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/BagCollectionTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/BagCollectionTests.cs 2011-04-13 22:04:27 UTC (rev 5697)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/BagCollectionTests.cs 2011-04-13 23:07:40 UTC (rev 5698)
@@ -1,5 +1,7 @@
using System.Collections.Generic;
+using System.Linq;
using System.Reflection;
+using NHibernate.Cfg.MappingSchema;
using NHibernate.Mapping.ByCode;
using NUnit.Framework;
using SharpTestsEx;
@@ -22,6 +24,17 @@
public string Simple { get; set; }
}
+ private class Parent
+ {
+ public int Id { get; set; }
+ public IEnumerable<Child> NickNames { get; set; }
+ }
+ private class Child
+ {
+ public int Id { get; set; }
+ public Parent AParent { get; set; }
+ }
+
[Test]
public void MatchWithEnumerableProperty()
{
@@ -71,5 +84,17 @@
inspector.IsBag(mi).Should().Be.False();
}
+
+ [Test]
+ public void WhenSetKeyThroughEventThenUseEvent()
+ {
+ var autoinspector = new SimpleModelInspector();
+ var mapper = new ModelMapper(autoinspector);
+ mapper.BeforeMapBag += (insp, prop, map) => map.Key(km => km.Column(prop.GetContainerEntity(insp).Name + "Id"));
+
+ var hbmMapping = mapper.CompileMappingFor(new[] {typeof(Parent)});
+ var hbmBag = hbmMapping.RootClasses[0].Properties.OfType<HbmBag>().Single();
+ hbmBag.Key.Columns.Single().name.Should().Be("ParentId");
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 22:04:33
|
Revision: 5697
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5697&view=rev
Author: fabiomaulo
Date: 2011-04-13 22:04:27 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fixed bug when version declared on base entity
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 21:57:13 UTC (rev 5696)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 22:04:27 UTC (rev 5697)
@@ -743,7 +743,7 @@
});
}
var splitGroups = modelInspector.GetPropertiesSplits(type);
- var propertiesToMap = persistentProperties.Where(mi => !modelInspector.IsVersion(mi)).Except(naturalIdPropeties).ToList();
+ var propertiesToMap = persistentProperties.Where(mi => !modelInspector.IsVersion(mi) && !modelInspector.IsVersion(mi.GetMemberFromDeclaringType())).Except(naturalIdPropeties).ToList();
var propertiesInSplits = new HashSet<MemberInfo>();
foreach (var splitGroup in splitGroups)
{
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs 2011-04-13 22:04:27 UTC (rev 5697)
@@ -36,5 +36,28 @@
hbmVersion.Should().Not.Be.Null();
hbmVersion.name.Should().Be("Version");
}
+
+ [Test]
+ public void WhenVersionFromBaseEntityThenShouldntMapVersionAsProperty()
+ {
+ var mapper = new ConventionModelMapper();
+ var baseEntityType = typeof(BaseEntity);
+ mapper.IsEntity((t, declared) => baseEntityType.IsAssignableFrom(t) && baseEntityType != t && !t.IsInterface);
+ mapper.IsRootEntity((t, declared) => baseEntityType.Equals(t.BaseType));
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(Person) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmVersion = hbmClass.Version;
+ hbmVersion.Should().Not.Be.Null();
+ hbmVersion.name.Should().Be("Version");
+
+ hbmClass.Properties.Should("because one is the POID and the other is the version").Be.Empty();
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 21:57:20
|
Revision: 5696
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5696&view=rev
Author: fabiomaulo
Date: 2011-04-13 21:57:13 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Added passing tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,40 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class VersionOnBaseClassIntegrationTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var mapper = new ConventionModelMapper();
+ var baseEntityType = typeof(BaseEntity);
+ mapper.IsEntity((t, declared) => baseEntityType.IsAssignableFrom(t) && baseEntityType != t && !t.IsInterface);
+ mapper.IsRootEntity((t, declared) => baseEntityType.Equals(t.BaseType));
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(Person) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmVersion = hbmClass.Version;
+ hbmVersion.Should().Not.Be.Null();
+ hbmVersion.name.Should().Be("Version");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -11,9 +11,12 @@
public int Id { get; set; }
public int Version { get; set; }
}
+ private class MyRoot: MyClass
+ {
+ }
[Test]
- public void WhenPropertyUsedAsPoidThenRegister()
+ public void WhenPropertyUsedAsVersionThenRegister()
{
var inspector = new ExplicitlyDeclaredModel();
var mapper = new ModelMapper(inspector);
@@ -26,5 +29,20 @@
inspector.IsVersion(For<MyClass>.Property(x => x.Version)).Should().Be.True();
}
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = new ExplicitlyDeclaredModel();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<MyClass>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<MyRoot>.Property(x => x.Version)).Should().Be.True();
+ }
}
}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,34 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MixAutomapping
+{
+ public class InheritedVersionTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = (IModelInspector)new SimpleModelInspector();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<Person>.Property(x => x.Version)).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-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 21:57:13 UTC (rev 5696)
@@ -513,6 +513,7 @@
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\VersionOnBaseClassIntegrationTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
@@ -550,6 +551,7 @@
<Compile Include="MappingByCode\MixAutomapping\DefaultClassHierarchyRepresentationTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\DictionaryCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\EntityTests.cs" />
+ <Compile Include="MappingByCode\MixAutomapping\InheritedVersionTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\ManyToOneTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\OneToManyTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\PoidTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 20:35:44
|
Revision: 5695
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5695&view=rev
Author: fabiomaulo
Date: 2011-04-13 20:35:38 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
ConventionModelMapper safe accessors
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 20:19:46 UTC (rev 5694)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 20:35:38 UTC (rev 5695)
@@ -19,18 +19,81 @@
BeforeMapClass += NoSetterPoidToField;
BeforeMapProperty += MemberToFieldAccessor;
+ BeforeMapProperty += MemberNoSetterToField;
+ BeforeMapProperty += MemberReadOnlyAccessor;
+
BeforeMapBag += MemberToFieldAccessor;
BeforeMapSet += MemberToFieldAccessor;
BeforeMapMap += MemberToFieldAccessor;
BeforeMapList += MemberToFieldAccessor;
+ BeforeMapBag += MemberNoSetterToField;
+ BeforeMapSet += MemberNoSetterToField;
+ BeforeMapMap += MemberNoSetterToField;
+ BeforeMapList += MemberNoSetterToField;
+ BeforeMapBag += MemberReadOnlyAccessor;
+ BeforeMapSet += MemberReadOnlyAccessor;
+ BeforeMapMap += MemberReadOnlyAccessor;
+ BeforeMapList += MemberReadOnlyAccessor;
BeforeMapManyToOne += MemberToFieldAccessor;
BeforeMapOneToOne += MemberToFieldAccessor;
BeforeMapAny += MemberToFieldAccessor;
+ BeforeMapManyToOne += MemberNoSetterToField;
+ BeforeMapOneToOne += MemberNoSetterToField;
+ BeforeMapAny += MemberNoSetterToField;
+ BeforeMapManyToOne += MemberReadOnlyAccessor;
+ BeforeMapOneToOne += MemberReadOnlyAccessor;
+ BeforeMapAny += MemberReadOnlyAccessor;
}
- void MemberToFieldAccessor(IModelInspector modelInspector, PropertyPath member, IAccessorPropertyMapper propertyCustomizer)
+ protected virtual void MemberReadOnlyAccessor(IModelInspector modelInspector, PropertyPath member, IAccessorPropertyMapper propertyCustomizer)
{
+ if (MatchReadOnlyProperty(member.LocalMember))
+ {
+ propertyCustomizer.Access(Accessor.ReadOnly);
+ }
+ }
+
+ protected bool MatchReadOnlyProperty(MemberInfo subject)
+ {
+ var property = subject as PropertyInfo;
+ if (property == null)
+ {
+ return false;
+ }
+ if (CanReadCantWriteInsideType(property) || CanReadCantWriteInBaseType(property))
+ {
+ return PropertyToField.GetBackFieldInfo(property) == null;
+ }
+ return false;
+ }
+
+ private bool CanReadCantWriteInsideType(PropertyInfo property)
+ {
+ return !property.CanWrite && property.CanRead && property.DeclaringType == property.ReflectedType;
+ }
+
+ private bool CanReadCantWriteInBaseType(PropertyInfo property)
+ {
+ if (property.DeclaringType == property.ReflectedType)
+ {
+ return false;
+ }
+ var rfprop = property.DeclaringType.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance
+ | BindingFlags.DeclaredOnly).SingleOrDefault(pi => pi.Name == property.Name);
+ return rfprop != null && !rfprop.CanWrite && rfprop.CanRead;
+ }
+
+ protected virtual void MemberNoSetterToField(IModelInspector modelInspector, PropertyPath member, IAccessorPropertyMapper propertyCustomizer)
+ {
+ if (MatchNoSetterProperty(member.LocalMember))
+ {
+ propertyCustomizer.Access(Accessor.NoSetter);
+ }
+ }
+
+ protected virtual void MemberToFieldAccessor(IModelInspector modelInspector, PropertyPath member, IAccessorPropertyMapper propertyCustomizer)
+ {
if (MatchPropertyToField(member.LocalMember))
{
propertyCustomizer.Access(Accessor.Field);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ric...@us...> - 2011-04-13 20:19:52
|
Revision: 5694
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5694&view=rev
Author: ricbrown
Date: 2011-04-13 20:19:46 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Attempt to stop Firebird build hanging.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/LimitClauseFixture.cs
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/LimitClauseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/LimitClauseFixture.cs 2011-04-13 20:16:57 UTC (rev 5693)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/LimitClauseFixture.cs 2011-04-13 20:19:46 UTC (rev 5694)
@@ -35,7 +35,7 @@
{
ISession session = OpenSession();
ITransaction txn = session.BeginTransaction();
- session.CreateQuery("delete Human").ExecuteUpdate();
+ session.Delete("from Animal");
txn.Commit();
session.Close();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 20:17:03
|
Revision: 5693
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5693&view=rev
Author: fabiomaulo
Date: 2011-04-13 20:16:57 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
ConventionModelMapper safe property accessor
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyToFieldAccessorTest.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 19:03:48 UTC (rev 5692)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 20:16:57 UTC (rev 5693)
@@ -17,8 +17,42 @@
{
BeforeMapClass += NoPoidGuid;
BeforeMapClass += NoSetterPoidToField;
+
+ BeforeMapProperty += MemberToFieldAccessor;
+ BeforeMapBag += MemberToFieldAccessor;
+ BeforeMapSet += MemberToFieldAccessor;
+ BeforeMapMap += MemberToFieldAccessor;
+ BeforeMapList += MemberToFieldAccessor;
+
+ BeforeMapManyToOne += MemberToFieldAccessor;
+ BeforeMapOneToOne += MemberToFieldAccessor;
+ BeforeMapAny += MemberToFieldAccessor;
}
+ void MemberToFieldAccessor(IModelInspector modelInspector, PropertyPath member, IAccessorPropertyMapper propertyCustomizer)
+ {
+ if (MatchPropertyToField(member.LocalMember))
+ {
+ propertyCustomizer.Access(Accessor.Field);
+ }
+ }
+
+ protected bool MatchPropertyToField(MemberInfo subject)
+ {
+ var property = subject as PropertyInfo;
+ if (property == null)
+ {
+ return false;
+ }
+ var fieldInfo = PropertyToField.GetBackFieldInfo(property);
+ if (fieldInfo != null)
+ {
+ return fieldInfo.FieldType != property.PropertyType;
+ }
+
+ return false;
+ }
+
protected virtual void NoSetterPoidToField(IModelInspector modelInspector, System.Type type, IClassAttributesMapper classCustomizer)
{
MemberInfo poidPropertyOrField = MembersProvider.GetEntityMembersForPoid(type).FirstOrDefault(modelInspector.IsPersistentId);
@@ -28,7 +62,7 @@
}
}
- public bool MatchNoSetterProperty(MemberInfo subject)
+ protected bool MatchNoSetterProperty(MemberInfo subject)
{
var property = subject as PropertyInfo;
if (property == null || property.CanWrite || !property.CanRead)
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyToFieldAccessorTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyToFieldAccessorTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyToFieldAccessorTest.cs 2011-04-13 20:16:57 UTC (rev 5693)
@@ -0,0 +1,131 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class PropertyToFieldAccessorTest
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ private string aField;
+ public int AProp { get; set; }
+
+ private ICollection<int> withDifferentBackField;
+ public IEnumerable<int> WithDifferentBackField
+ {
+ get { return withDifferentBackField; }
+ set { withDifferentBackField = value as ICollection<int>; }
+ }
+
+ private string readOnlyWithSameBackField;
+ public string ReadOnlyWithSameBackField
+ {
+ get { return readOnlyWithSameBackField; }
+ }
+
+ public string PropertyWithoutField
+ {
+ get { return ""; }
+ }
+
+ private string sameTypeOfBackField;
+ public string SameTypeOfBackField
+ {
+ get { return sameTypeOfBackField; }
+ set { sameTypeOfBackField = value; }
+ }
+
+ private int setOnlyProperty;
+ public int SetOnlyProperty
+ {
+ set { setOnlyProperty = value; }
+ }
+ }
+
+ [Test]
+ public void WhenFieldAccessToField()
+ {
+ var member = typeof(MyClass).GetField("aField",BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(mc => mc.Property(member, x => { }));
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "aField");
+ hbmProperty.Access.Should().Be("field");
+ }
+
+ [Test]
+ public void WhenAutoPropertyNoAccessor()
+ {
+ var mapper = new ConventionModelMapper();
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "AProp");
+ hbmProperty.Access.Should().Be.NullOrEmpty();
+ }
+
+ [Test]
+ public void WhenPropertyWithSameBackFieldNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "SameTypeOfBackField");
+ hbmProperty.Access.Should().Be.NullOrEmpty();
+ }
+
+ [Test]
+ public void WhenReadOnlyPropertyWithSameBackFieldNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "ReadOnlyWithSameBackField");
+ hbmProperty.Access.Should().Not.Contain("field");
+ }
+
+ [Test]
+ public void WhenPropertyWithoutFieldNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(mc => mc.Property(x => x.PropertyWithoutField));
+
+ var hbmMapping = mapper.CompileMappingFor(new[] {typeof (MyClass)});
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "PropertyWithoutField");
+ hbmProperty.Access.Should().Not.Contain("field");
+ }
+
+ [Test]
+ public void WhenPropertyWithDifferentBackFieldMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "WithDifferentBackField");
+ hbmProperty.Access.Should().Contain("field");
+ }
+
+ [Test]
+ public void WhenSetOnlyPropertyNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.Single(x => x.Name == "SetOnlyProperty");
+ hbmProperty.Access.Should().Not.Contain("field");
+ }
+ }
+}
\ 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-13 19:03:48 UTC (rev 5692)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 20:16:57 UTC (rev 5693)
@@ -511,6 +511,7 @@
<Compile Include="Linq\ByMethod\SumTests.cs" />
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 19:03:54
|
Revision: 5692
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5692&view=rev
Author: fabiomaulo
Date: 2011-04-13 19:03:48 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
ConventionModelMapper safe Poid
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyToField.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/SafePoidTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 18:16:39 UTC (rev 5691)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 19:03:48 UTC (rev 5692)
@@ -15,8 +15,45 @@
protected virtual void AppendDefaultEvents()
{
+ BeforeMapClass += NoPoidGuid;
+ BeforeMapClass += NoSetterPoidToField;
}
+ protected virtual void NoSetterPoidToField(IModelInspector modelInspector, System.Type type, IClassAttributesMapper classCustomizer)
+ {
+ MemberInfo poidPropertyOrField = MembersProvider.GetEntityMembersForPoid(type).FirstOrDefault(modelInspector.IsPersistentId);
+ if(MatchNoSetterProperty(poidPropertyOrField))
+ {
+ classCustomizer.Id(idm=> idm.Access(Accessor.NoSetter));
+ }
+ }
+
+ public bool MatchNoSetterProperty(MemberInfo subject)
+ {
+ var property = subject as PropertyInfo;
+ if (property == null || property.CanWrite || !property.CanRead)
+ {
+ return false;
+ }
+ var fieldInfo = PropertyToField.GetBackFieldInfo(property);
+ if (fieldInfo != null)
+ {
+ return fieldInfo.FieldType == property.PropertyType;
+ }
+
+ return false;
+ }
+
+ protected virtual void NoPoidGuid(IModelInspector modelInspector, System.Type type, IClassAttributesMapper classCustomizer)
+ {
+ MemberInfo poidPropertyOrField = MembersProvider.GetEntityMembersForPoid(type).FirstOrDefault(mi => modelInspector.IsPersistentId(mi));
+ if (!ReferenceEquals(null, poidPropertyOrField))
+ {
+ return;
+ }
+ classCustomizer.Id(null, idm=> idm.Generator(Generators.Guid));
+ }
+
protected SimpleModelInspector SimpleModelInspector
{
get { return (SimpleModelInspector) base.ModelInspector; }
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 18:16:39 UTC (rev 5691)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-13 19:03:48 UTC (rev 5692)
@@ -496,6 +496,11 @@
get { return modelInspector; }
}
+ protected ICandidatePersistentMembersProvider MembersProvider
+ {
+ get { return membersProvider; }
+ }
+
public void Class<TRootEntity>(Action<IClassMapper<TRootEntity>> customizeAction) where TRootEntity : class
{
var customizer = new ClassCustomizer<TRootEntity>(explicitDeclarationsHolder, customizerHolder);
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyToField.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyToField.cs 2011-04-13 18:16:39 UTC (rev 5691)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyToField.cs 2011-04-13 19:03:48 UTC (rev 5692)
@@ -1,4 +1,6 @@
using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
using NHibernate.Properties;
namespace NHibernate.Mapping.ByCode
@@ -28,5 +30,14 @@
return FieldNamningStrategies;
}
}
+
+ public static FieldInfo GetBackFieldInfo(PropertyInfo subject)
+ {
+ const BindingFlags defaultBinding = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly;
+ return (from s in FieldNamningStrategies.Values
+ let field = subject.DeclaringType.GetField(s.GetFieldName(subject.Name), defaultBinding)
+ where field != null
+ select field).FirstOrDefault();
+ }
}
}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/SafePoidTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/SafePoidTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/SafePoidTests.cs 2011-04-13 19:03:48 UTC (rev 5692)
@@ -0,0 +1,65 @@
+using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class SafePoidTests
+ {
+ private class MyClassWithoutPoid
+ {
+
+ }
+
+ private class MyClass
+ {
+ private int _id;
+ public int Id
+ {
+ get { return _id; }
+ }
+ }
+
+ [Test]
+ public void WhenClassWithoutPoidNorGeeneratorThenApplyGuid()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClassWithoutPoid>(x => { });
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithoutPoid) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmId = hbmClass.Id;
+ hbmId.Should().Not.Be.Null();
+ hbmId.generator.Should().Not.Be.Null();
+ hbm...@cl...().Be("guid");
+ hbmId.type1.Should().Be("Guid");
+ }
+
+ [Test]
+ public void WhenClassWithoutPoidWithGeneratorThenApplyDefinedGenerator()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClassWithoutPoid>(x => x.Id(null, idm=> idm.Generator(Generators.Native)));
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithoutPoid) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmId = hbmClass.Id;
+ hbmId.Should().Not.Be.Null();
+ hbmId.generator.Should().Not.Be.Null();
+ hbm...@cl...().Be("native");
+ hbmId.type1.Should().Be(Generators.Native.DefaultReturnType.GetNhTypeName());
+ }
+
+ [Test]
+ public void WhenPoidNoSetterThenApplyNosetter()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(x => x.Id(mc=> mc.Id));
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ hbmClass.Id.access.Should().Be("nosetter.camelcase-underscore");
+ }
+ }
+}
\ 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-13 18:16:39 UTC (rev 5691)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 19:03:48 UTC (rev 5692)
@@ -511,6 +511,7 @@
<Compile Include="Linq\ByMethod\SumTests.cs" />
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
@@ -2976,7 +2977,6 @@
<EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" />
</ItemGroup>
<ItemGroup>
- <Folder Include="MappingByCode\ConventionModelMapperTests\" />
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 18:16:47
|
Revision: 5691
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5691&view=rev
Author: fabiomaulo
Date: 2011-04-13 18:16:39 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Minor
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs 2011-04-13 18:03:13 UTC (rev 5690)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/IdMapper.cs 2011-04-13 18:16:39 UTC (rev 5691)
@@ -26,6 +26,7 @@
}
else
{
+ hbmId.type1 = typeof(int).GetNhTypeName();
accessorMapper = new NoMemberPropertyMapper();
}
}
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs 2011-04-13 18:03:13 UTC (rev 5690)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs 2011-04-13 18:16:39 UTC (rev 5691)
@@ -51,6 +51,23 @@
}
[Test]
+ public void WhenMapClassWithoutIdAndWithoutGeneratorThenTypeShouldHaveValue()
+ {
+ var mapper = new ModelMapper();
+ mapper.Class<MyClass>(ca => ca.Id(null, map =>
+ {
+ map.Column("MyClassId");
+ }));
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+ var hbmClass = hbmMapping.RootClasses[0];
+ hbmClass.Should().Not.Be.Null();
+ var hbmId = hbmClass.Id;
+ hbmId.Should().Not.Be.Null();
+ hbmId.column1.Should().Be("MyClassId");
+ hbmId.type1.Should().Not.Be.Null();
+ }
+
+ [Test]
public void WhenDuplicatePropertiesDoesNotDuplicateMapping()
{
var mapper = new ModelMapper();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 18:03:20
|
Revision: 5690
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5690&view=rev
Author: fabiomaulo
Date: 2011-04-13 18:03:13 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Minor refactoring
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/NaturalIdCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinCustomizer.cs 2011-04-13 17:44:36 UTC (rev 5689)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinCustomizer.cs 2011-04-13 18:03:13 UTC (rev 5690)
@@ -82,94 +82,73 @@
CustomizersHolder.AddCustomizer(typeof(TEntity), (IJoinAttributesMapper m) => m.Fetch(fetchMode));
}
- public override void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ protected override void RegisterSetMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof (TEntity), splitGroupId, member));
- base.Set(property, collectionMapping, mapping);
+ base.RegisterSetMapping(property, collectionMapping, mapping);
}
- public override void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ protected override void RegisterBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Bag(property, collectionMapping, mapping);
+ base.RegisterBagMapping(property, collectionMapping, mapping);
}
- public override void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ protected override void RegisterListMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.List(property, collectionMapping, mapping);
+ base.RegisterListMapping(property, collectionMapping, mapping);
}
- public override void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property, Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping, Action<IMapKeyRelation<TKey>> keyMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ protected override void RegisterMapMapping<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property, Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping, Action<IMapKeyRelation<TKey>> keyMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Map(property, collectionMapping, keyMapping, mapping);
+ base.RegisterMapMapping(property, collectionMapping, keyMapping, mapping);
}
- public override void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property, Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ protected override void RegisterPropertyMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IPropertyMapper> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Map(property, collectionMapping, mapping);
+ base.RegisterPropertyMapping(property, mapping);
}
- public override void Property<TProperty>(Expression<Func<TEntity, TProperty>> property)
+ protected override void RegisterFieldMapping(FieldInfo member, Action<IPropertyMapper> mapping)
{
- MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Property(property);
+ base.RegisterFieldMapping(member, mapping);
}
- public override void Property<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IPropertyMapper> mapping)
+ protected override void RegisterComponentMapping<TComponent>(Expression<Func<TEntity, TComponent>> property, Action<IComponentMapper<TComponent>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Property(property, mapping);
+ base.RegisterComponentMapping(property, mapping);
}
- public override void Property(FieldInfo member, Action<IPropertyMapper> mapping)
+ protected override void RegisterManyToOneMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IManyToOneMapper> mapping)
{
- ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Property(member, mapping);
- }
-
- public override void Component<TComponent>(Expression<Func<TEntity, TComponent>> property, Action<IComponentMapper<TComponent>> mapping)
- {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Component(property, mapping);
+ base.RegisterManyToOneMapping(property, mapping);
}
- public override void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IManyToOneMapper> mapping)
+ protected override void RegisterAnyMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, Action<IAnyMapper> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.ManyToOne(property, mapping);
+ base.RegisterAnyMapping(property, idTypeOfMetaType, mapping);
}
- public override void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property)
+ protected override void RegisterIdBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.ManyToOne(property);
+ base.RegisterIdBagMapping(property, collectionMapping, mapping);
}
-
- public override void Any<TProperty>(Expression<Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, Action<IAnyMapper> mapping)
- {
- MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
- ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.Any(property, idTypeOfMetaType, mapping);
- }
-
- public override void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
- {
- MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
- ExplicitDeclarationsHolder.AddAsPropertySplit(new SplitDefinition(typeof(TEntity), splitGroupId, member));
- base.IdBag(property, collectionMapping, mapping);
- }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/NaturalIdCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/NaturalIdCustomizer.cs 2011-04-13 17:44:36 UTC (rev 5689)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/NaturalIdCustomizer.cs 2011-04-13 18:03:13 UTC (rev 5690)
@@ -7,55 +7,46 @@
public NaturalIdCustomizer(IModelExplicitDeclarationsHolder explicitDeclarationsHolder, ICustomizersHolder customizersHolder)
: base(explicitDeclarationsHolder, customizersHolder, null) {}
- public override void Property<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Action<IPropertyMapper> mapping)
+ protected override void RegisterPropertyMapping<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Action<IPropertyMapper> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
ExplicitDeclarationsHolder.AddAsNaturalId(member);
ExplicitDeclarationsHolder.AddAsNaturalId(memberOf);
- base.Property(property, mapping);
+ base.RegisterPropertyMapping(property, mapping);
}
- public override void Property(FieldInfo member, System.Action<IPropertyMapper> mapping)
+ protected override void RegisterFieldMapping(FieldInfo member, System.Action<IPropertyMapper> mapping)
{
ExplicitDeclarationsHolder.AddAsNaturalId(member);
- base.Property(member, mapping);
+ base.RegisterFieldMapping(member, mapping);
}
- public override void Component<TComponent>(System.Linq.Expressions.Expression<System.Func<TEntity, TComponent>> property, System.Action<IComponentMapper<TComponent>> mapping)
+ protected override void RegisterComponentMapping<TComponent>(System.Linq.Expressions.Expression<System.Func<TEntity, TComponent>> property, System.Action<IComponentMapper<TComponent>> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
ExplicitDeclarationsHolder.AddAsNaturalId(member);
ExplicitDeclarationsHolder.AddAsNaturalId(memberOf);
- base.Component(property, mapping);
+ base.RegisterComponentMapping(property, mapping);
}
- public override void Any<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, System.Action<IAnyMapper> mapping)
+ protected override void RegisterAnyMapping<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, System.Action<IAnyMapper> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
ExplicitDeclarationsHolder.AddAsNaturalId(member);
ExplicitDeclarationsHolder.AddAsNaturalId(memberOf);
- base.Any(property, idTypeOfMetaType, mapping);
+ base.RegisterAnyMapping(property, idTypeOfMetaType, mapping);
}
- public override void ManyToOne<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property)
+ protected override void RegisterManyToOneMapping<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Action<IManyToOneMapper> mapping)
{
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
ExplicitDeclarationsHolder.AddAsNaturalId(member);
ExplicitDeclarationsHolder.AddAsNaturalId(memberOf);
- base.ManyToOne(property);
+ base.RegisterManyToOneMapping(property, mapping);
}
-
- public override void ManyToOne<TProperty>(System.Linq.Expressions.Expression<System.Func<TEntity, TProperty>> property, System.Action<IManyToOneMapper> mapping)
- {
- MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
- MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
- ExplicitDeclarationsHolder.AddAsNaturalId(member);
- ExplicitDeclarationsHolder.AddAsNaturalId(memberOf);
- base.ManyToOne(property, mapping);
- }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-13 17:44:36 UTC (rev 5689)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-13 18:03:13 UTC (rev 5690)
@@ -28,13 +28,18 @@
get { return explicitDeclarationsHolder; }
}
- public virtual void Property<TProperty>(Expression<Func<TEntity, TProperty>> property)
+ public void Property<TProperty>(Expression<Func<TEntity, TProperty>> property)
{
Property(property, x => { });
}
- public virtual void Property<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IPropertyMapper> mapping)
+ public void Property<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IPropertyMapper> mapping)
{
+ RegisterPropertyMapping(property, mapping);
+ }
+
+ protected virtual void RegisterPropertyMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IPropertyMapper> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
CustomizersHolder.AddCustomizer(new PropertyPath(PropertyPath, member), mapping);
@@ -43,24 +48,41 @@
explicitDeclarationsHolder.AddAsProperty(memberOf);
}
- public virtual void Property(FieldInfo member, Action<IPropertyMapper> mapping)
+ public void Property(FieldInfo member, Action<IPropertyMapper> mapping)
{
+ RegisterFieldMapping(member, mapping);
+ }
+
+ protected virtual void RegisterFieldMapping(FieldInfo member, Action<IPropertyMapper> mapping)
+ {
CustomizersHolder.AddCustomizer(new PropertyPath(PropertyPath, member), mapping);
explicitDeclarationsHolder.AddAsProperty(member);
}
- public virtual void Component<TComponent>(Expression<Func<TEntity, TComponent>> property,
+ public void Component<TComponent>(Expression<Func<TEntity, TComponent>> property,
Action<IComponentMapper<TComponent>> mapping) where TComponent : class
{
+ RegisterComponentMapping(property, mapping);
+ }
+
+ protected virtual void RegisterComponentMapping<TComponent>(Expression<Func<TEntity, TComponent>> property, Action<IComponentMapper<TComponent>> mapping)
+ where TComponent : class
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
mapping(new ComponentCustomizer<TComponent>(explicitDeclarationsHolder, CustomizersHolder, new PropertyPath(PropertyPath, member)));
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
mapping(new ComponentCustomizer<TComponent>(explicitDeclarationsHolder, CustomizersHolder, new PropertyPath(PropertyPath, memberOf)));
}
- public virtual void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IManyToOneMapper> mapping)
+ public void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IManyToOneMapper> mapping)
where TProperty : class
{
+ RegisterManyToOneMapping(property, mapping);
+ }
+
+ protected virtual void RegisterManyToOneMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, Action<IManyToOneMapper> mapping)
+ where TProperty : class
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
CustomizersHolder.AddCustomizer(new PropertyPath(PropertyPath, member), mapping);
MemberInfo memberOf = TypeExtensions.DecodeMemberAccessExpressionOf(property);
@@ -69,7 +91,7 @@
explicitDeclarationsHolder.AddAsManyToOneRelation(memberOf);
}
- public virtual void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property) where TProperty : class
+ public void ManyToOne<TProperty>(Expression<Func<TEntity, TProperty>> property) where TProperty : class
{
ManyToOne(property, x => { });
}
@@ -85,9 +107,15 @@
explicitDeclarationsHolder.AddAsOneToOneRelation(memberOf);
}
- public virtual void Any<TProperty>(Expression<Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, Action<IAnyMapper> mapping)
+ public void Any<TProperty>(Expression<Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, Action<IAnyMapper> mapping)
where TProperty : class
{
+ RegisterAnyMapping(property, idTypeOfMetaType, mapping);
+ }
+
+ protected virtual void RegisterAnyMapping<TProperty>(Expression<Func<TEntity, TProperty>> property, System.Type idTypeOfMetaType, Action<IAnyMapper> mapping)
+ where TProperty : class
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
CustomizersHolder.AddCustomizer(new PropertyPath(PropertyPath, member), am => am.IdType(idTypeOfMetaType));
CustomizersHolder.AddCustomizer(new PropertyPath(PropertyPath, member), mapping);
@@ -98,10 +126,15 @@
explicitDeclarationsHolder.AddAsAny(memberOf);
}
- public virtual void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ public void Set<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
+ RegisterSetMapping(property, collectionMapping, mapping);
+ }
+
+ protected virtual void RegisterSetMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<ISetPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
collectionMapping(new SetPropertiesCustomizer<TEntity, TElement>(explicitDeclarationsHolder, new PropertyPath(null, member), CustomizersHolder));
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
@@ -111,10 +144,15 @@
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
}
- public virtual void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ public void Bag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
+ RegisterBagMapping(property, collectionMapping, mapping);
+ }
+
+ protected virtual void RegisterBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
collectionMapping(new BagPropertiesCustomizer<TEntity, TElement>(explicitDeclarationsHolder, new PropertyPath(null, member), CustomizersHolder));
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
@@ -124,10 +162,15 @@
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, memberOf), CustomizersHolder));
}
- public virtual void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ public void List<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
+ RegisterListMapping(property, collectionMapping, mapping);
+ }
+
+ protected virtual void RegisterListMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IListPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
collectionMapping(new ListPropertiesCustomizer<TEntity, TElement>(explicitDeclarationsHolder, new PropertyPath(null, member), CustomizersHolder));
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
@@ -137,11 +180,16 @@
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
}
- public virtual void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
+ public void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping,
Action<IMapKeyRelation<TKey>> keyMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
+ RegisterMapMapping(property, collectionMapping, keyMapping, mapping);
+ }
+
+ protected virtual void RegisterMapMapping<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property, Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping, Action<IMapKeyRelation<TKey>> keyMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
var memberPath = new PropertyPath(PropertyPath, member);
collectionMapping(new MapPropertiesCustomizer<TEntity, TKey, TElement>(explicitDeclarationsHolder, memberPath, CustomizersHolder));
@@ -155,17 +203,22 @@
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, memberOfPath, CustomizersHolder));
}
- public virtual void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
+ public void Map<TKey, TElement>(Expression<Func<TEntity, IDictionary<TKey, TElement>>> property,
Action<IMapPropertiesMapper<TEntity, TKey, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
Map(property, collectionMapping, keyMapping => { }, mapping);
}
- public virtual void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
+ public void IdBag<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property,
Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping,
Action<ICollectionElementRelation<TElement>> mapping)
{
+ RegisterIdBagMapping(property, collectionMapping, mapping);
+ }
+
+ protected virtual void RegisterIdBagMapping<TElement>(Expression<Func<TEntity, IEnumerable<TElement>>> property, Action<IIdBagPropertiesMapper<TEntity, TElement>> collectionMapping, Action<ICollectionElementRelation<TElement>> mapping)
+ {
MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);
collectionMapping(new IdBagPropertiesCustomizer<TEntity, TElement>(explicitDeclarationsHolder, new PropertyPath(null, member), CustomizersHolder));
mapping(new CollectionElementRelationCustomizer<TElement>(explicitDeclarationsHolder, new PropertyPath(PropertyPath, member), CustomizersHolder));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <fab...@us...> - 2011-04-13 17:34:42
|
Revision: 5688
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5688&view=rev
Author: fabiomaulo
Date: 2011-04-13 17:34:36 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fix NH-2644
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IJoinedSubclassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2011-04-13 17:28:38 UTC (rev 5687)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2011-04-13 17:34:36 UTC (rev 5688)
@@ -38,12 +38,7 @@
string schema = joinedSubclassMapping.schema ?? mappings.SchemaName;
string catalog = joinedSubclassMapping.catalog ?? mappings.CatalogName;
- // TODO: very strange, the schema does not support it
- //XmlAttribute actionNode = subnode.Attributes["schema-action"];
- //string action = actionNode == null ? "all" : actionNode.Value;
- string action = "all";
-
- Table mytable = mappings.AddTable(schema, catalog, GetClassTableName(subclass, joinedSubclassMapping.table), joinedSubclassMapping.Subselect, false, action);
+ Table mytable = mappings.AddTable(schema, catalog, GetClassTableName(subclass, joinedSubclassMapping.table), joinedSubclassMapping.Subselect, false, joinedSubclassMapping.schemaaction);
((ITableOwner)subclass).Table = mytable;
log.InfoFormat("Mapping joined-subclass: {0} -> {1}", subclass.EntityName, subclass.Table.Name);
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IJoinedSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IJoinedSubclassMapper.cs 2011-04-13 17:28:38 UTC (rev 5687)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IJoinedSubclassMapper.cs 2011-04-13 17:34:36 UTC (rev 5688)
@@ -9,6 +9,7 @@
void Schema(string schemaName);
void Key(Action<IKeyMapper> keyMapping);
void Extends(System.Type baseType);
+ void SchemaAction(SchemaAction action);
}
public interface IJoinedSubclassMapper : IJoinedSubclassAttributesMapper, IPropertyContainerMapper {}
@@ -19,6 +20,7 @@
void Catalog(string catalogName);
void Schema(string schemaName);
void Key(Action<IKeyMapper<TEntity>> keyMapping);
+ void SchemaAction(SchemaAction action);
}
public interface IJoinedSubclassMapper<TEntity> : IJoinedSubclassAttributesMapper<TEntity>, IPropertyContainerMapper<TEntity> where TEntity : class {}
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-13 17:28:38 UTC (rev 5687)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/JoinedSubclassCustomizer.cs 2011-04-13 17:34:36 UTC (rev 5688)
@@ -25,6 +25,11 @@
keyMapping(keyMapper);
}
+ public void SchemaAction(SchemaAction action)
+ {
+ CustomizersHolder.AddCustomizer(typeof(TEntity), (IJoinedSubclassAttributesMapper m) => m.SchemaAction(action));
+ }
+
public void EntityName(string value)
{
CustomizersHolder.AddCustomizer(typeof (TEntity), (IJoinedSubclassAttributesMapper m) => m.EntityName(value));
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-13 17:28:38 UTC (rev 5687)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinedSubclassMapper.cs 2011-04-13 17:34:36 UTC (rev 5688)
@@ -171,6 +171,11 @@
classMapping.extends = baseType.GetShortClassName(MapDoc);
}
+ public void SchemaAction(SchemaAction action)
+ {
+ classMapping.schemaaction = action.ToSchemaActionString();
+ }
+
#endregion
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 17:28:45
|
Revision: 5687
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5687&view=rev
Author: fabiomaulo
Date: 2011-04-13 17:28:38 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Added schema-action for joined-subclass
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs
trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd
Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs 2011-04-13 17:12:52 UTC (rev 5686)
+++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/Hbm.generated.cs 2011-04-13 17:28:38 UTC (rev 5687)
@@ -2,7 +2,7 @@
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -83,7 +83,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -110,7 +110,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -128,7 +128,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -193,7 +193,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -207,7 +207,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -372,7 +372,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -386,7 +386,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -413,7 +413,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCacheUsage {
@@ -436,7 +436,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCacheInclude {
@@ -451,7 +451,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -465,7 +465,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -524,7 +524,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmOndelete {
@@ -539,7 +539,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -565,7 +565,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -586,7 +586,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -618,7 +618,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -636,7 +636,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -774,7 +774,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -788,7 +788,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmOuterJoinStrategy {
@@ -807,7 +807,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmFetchMode {
@@ -822,7 +822,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmLaziness {
@@ -841,7 +841,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmNotFoundMode {
@@ -856,7 +856,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -892,7 +892,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1009,7 +1009,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1027,7 +1027,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1045,7 +1045,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmPropertyGeneration {
@@ -1064,7 +1064,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1125,7 +1125,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1155,7 +1155,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1259,7 +1259,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1281,7 +1281,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmRestrictedLaziness {
@@ -1296,7 +1296,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1333,7 +1333,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1347,7 +1347,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1377,7 +1377,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCustomSQLCheck {
@@ -1396,7 +1396,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCollectionFetchMode {
@@ -1415,7 +1415,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1595,7 +1595,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCollectionLazy {
@@ -1614,7 +1614,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1833,7 +1833,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1855,7 +1855,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmTuplizerEntitymode {
@@ -1874,7 +1874,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1924,7 +1924,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -1983,7 +1983,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2028,7 +2028,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmUnsavedValueType {
@@ -2047,7 +2047,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2099,7 +2099,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2117,7 +2117,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2171,7 +2171,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2198,7 +2198,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2284,7 +2284,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2348,7 +2348,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2533,7 +2533,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2727,7 +2727,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2746,7 +2746,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2765,7 +2765,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2791,7 +2791,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2821,7 +2821,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2856,7 +2856,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2891,7 +2891,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -2984,7 +2984,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3126,7 +3126,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmPrimitivearrayOuterjoin {
@@ -3145,7 +3145,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmPrimitivearrayFetch {
@@ -3164,7 +3164,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3348,7 +3348,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3531,7 +3531,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3564,7 +3564,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3617,7 +3617,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmTimestampUnsavedvalue {
@@ -3632,7 +3632,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmTimestampSource {
@@ -3647,7 +3647,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmVersionGeneration {
@@ -3662,7 +3662,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3723,7 +3723,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3775,7 +3775,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3858,7 +3858,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmJoinFetch {
@@ -3873,7 +3873,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -3964,6 +3964,10 @@
public string table;
/// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute("schema-action")]
+ public string schemaaction;
+
+ /// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string schema;
@@ -4034,7 +4038,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4055,7 +4059,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4086,7 +4090,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4108,7 +4112,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4122,7 +4126,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmLockMode {
@@ -4149,7 +4153,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4188,7 +4192,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4202,7 +4206,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4233,7 +4237,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4251,7 +4255,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4326,7 +4330,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4344,7 +4348,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmFlushMode {
@@ -4363,7 +4367,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmCacheMode {
@@ -4390,7 +4394,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4480,7 +4484,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4620,7 +4624,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4778,7 +4782,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmPolymorphismType {
@@ -4793,7 +4797,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:nhibernate-mapping-2.2")]
public enum HbmOptimisticLockMode {
@@ -4816,7 +4820,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4830,7 +4834,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4850,7 +4854,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4868,7 +4872,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4882,7 +4886,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4900,7 +4904,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4935,7 +4939,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -4953,7 +4957,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -5042,7 +5046,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@@ -5064,7 +5068,7 @@
}
/// <remarks/>
- [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.0.0.4000")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("HbmXsd", "3.2.0.1001")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
Modified: trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd
===================================================================
--- trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd 2011-04-13 17:12:52 UTC (rev 5686)
+++ trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd 2011-04-13 17:28:38 UTC (rev 5687)
@@ -692,7 +692,8 @@
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="proxy" type="xs:string" />
<xs:attribute name="table" type="xs:string" />
- <xs:attribute name="schema" type="xs:string" />
+ <xs:attribute name="schema-action" type="xs:string" />
+ <xs:attribute name="schema" type="xs:string" />
<xs:attribute name="catalog" type="xs:string" />
<xs:attribute name="subselect" type="xs:string" />
<xs:attribute name="dynamic-update" default="false" type="xs:boolean">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 17:12:59
|
Revision: 5686
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5686&view=rev
Author: fabiomaulo
Date: 2011-04-13 17:12:52 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fix NH-2642 (thanks to Roger)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs
Modified: trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs 2011-04-13 17:02:42 UTC (rev 5685)
+++ trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -149,7 +149,7 @@
public object GetValue(int i)
{
- return reader.GetDecimal(i);
+ return reader.GetValue(i);
}
public int GetValues(object[] values)
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,54 @@
+using System.Collections;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ private const int id = 1333;
+
+ protected override void OnSetUp()
+ {
+ var ent = new TheEntity { TheValue = "Hola", Id = id };
+ using (var s = OpenSession())
+ {
+ using (var tx = s.BeginTransaction())
+ {
+ s.Save(ent);
+ tx.Commit();
+ }
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using (var s = OpenSession())
+ {
+ using (var tx = s.BeginTransaction())
+ {
+ s.Delete(s.Get<TheEntity>(id));
+ tx.Commit();
+ }
+ }
+ }
+
+ [Test]
+ public void CanUseDatareadersGetValue()
+ {
+ using (var s = OpenSession())
+ {
+ using (s.BeginTransaction())
+ {
+ var crit = s.CreateCriteria(typeof (TheEntity));
+ var multi = s.CreateMultiCriteria();
+ multi.Add(crit);
+ var res = (IList)multi.List()[0];
+ res.Count
+ .Should().Be.EqualTo(1);
+ }
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ namespace="NHibernate.Test.NHSpecificTest.DataReaderWrapperTest"
+ assembly="NHibernate.Test">
+
+ <class name="TheEntity">
+ <id name="Id" type="Int32">
+ <generator class="assigned" />
+ </id>
+ <property name="TheValue" type="NHibernate.Test.NHSpecificTest.DataReaderWrapperTest.TheUserType, NHibernate.Test" />
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ public class TheEntity
+ {
+ public virtual int Id { get; set; }
+ public virtual string TheValue { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,65 @@
+using System;
+using System.Data;
+using NHibernate.SqlTypes;
+using NHibernate.UserTypes;
+
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ public class TheUserType : IUserType
+ {
+ public SqlType[] SqlTypes
+ {
+ get { return new[] {new SqlType(DbType.String)}; }
+ }
+
+ public System.Type ReturnedType
+ {
+ get { return typeof(string); }
+ }
+
+ public bool Equals(object x, object y)
+ {
+ return x.Equals(y);
+ }
+
+ public int GetHashCode(object x)
+ {
+ return x.GetHashCode();
+ }
+
+ public object NullSafeGet(IDataReader rs, string[] names, object owner)
+ {
+ return rs.GetValue(rs.GetOrdinal(names[0]));
+ }
+
+ public void NullSafeSet(IDbCommand cmd, object value, int index)
+ {
+ NHibernateUtil.String.NullSafeSet(cmd, value, index);
+ }
+
+ public object DeepCopy(object value)
+ {
+ return value;
+ }
+
+ public bool IsMutable
+ {
+ get { return NHibernateUtil.String.IsMutable; }
+ }
+
+ public object Replace(object original, object target, object owner)
+ {
+ return original;
+ }
+
+ public object Assemble(object cached, object owner)
+ {
+ return cached;
+ }
+
+ public object Disassemble(object value)
+ {
+ return value;
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 17:02:42 UTC (rev 5685)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 17:12:52 UTC (rev 5686)
@@ -571,6 +571,9 @@
<Compile Include="NHSpecificTest\AccessAndCorrectPropertyName\Model.cs" />
<Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Domain.cs" />
<Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Fixture.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\Fixture.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\Model.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\TheUserType.cs" />
<Compile Include="NHSpecificTest\EntityNameAndCompositeId\Fixture.cs" />
<Compile Include="NHSpecificTest\EntityNameAndInheritance\Fixture.cs" />
<Compile Include="NHSpecificTest\EntityNameWithFullName\Fixture.cs" />
@@ -2568,6 +2571,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\DataReaderWrapperTest\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\SqlConverterAndMultiQuery\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2489\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2603\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 17:02:49
|
Revision: 5685
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5685&view=rev
Author: fabiomaulo
Date: 2011-04-13 17:02:42 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Reverted naming conventions (perhaps we should be far away to do it)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/JoinedSubclassKeyAsRootIdColumnTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 17:02:42 UTC (rev 5685)
@@ -15,78 +15,8 @@
protected virtual void AppendDefaultEvents()
{
- BeforeMapJoinedSubclass += JoinedSubclassKeyAsRootIdColumn;
- BeforeMapProperty += PropertyColumnName;
- BeforeMapList += ManyToManyInCollectionTable;
- BeforeMapBag += ManyToManyInCollectionTable;
- BeforeMapIdBag += ManyToManyInCollectionTable;
- BeforeMapSet += ManyToManyInCollectionTable;
- BeforeMapMap += ManyToManyInCollectionTable;
-
- BeforeMapList += ManyToManyKeyIdColumn;
- BeforeMapBag += ManyToManyKeyIdColumn;
- BeforeMapIdBag += ManyToManyKeyIdColumn;
- BeforeMapSet += ManyToManyKeyIdColumn;
- BeforeMapMap += ManyToManyKeyIdColumn;
}
- protected void ManyToManyKeyIdColumn(IModelInspector modelInspector, PropertyPath member, ICollectionPropertiesMapper collectionCustomizer)
- {
- System.Type propertyType = member.LocalMember.GetPropertyOrFieldType();
-
- System.Type fromMany = member.GetContainerEntity(modelInspector);
- System.Type toMany = propertyType.DetermineCollectionElementOrDictionaryValueType();
- if (!modelInspector.IsEntity(toMany))
- {
- // does not apply when the relation is on the key of the dictionary
- return;
- }
-
- collectionCustomizer.Key(km => km.Column(fromMany.Name + "Id"));
- }
-
- protected void ManyToManyInCollectionTable(IModelInspector modelInspector, PropertyPath member, ICollectionPropertiesMapper collectionCustomizer)
- {
- System.Type propertyType = member.LocalMember.GetPropertyOrFieldType();
-
- System.Type fromMany = member.GetContainerEntity(modelInspector);
- System.Type toMany = propertyType.DetermineCollectionElementOrDictionaryValueType();
- if(!modelInspector.IsEntity(toMany))
- {
- // does not apply when the relation is on the key of the dictionary
- // Note: a dictionary may have relation with 3 entities; in this handler we are covering only relations on values
- return;
- }
- var relation = new[] { fromMany, toMany };
- var twoEntitiesNames = (from relationOn in relation orderby relationOn.Name select relationOn.Name).ToArray();
-
- collectionCustomizer.Table(string.Format("{0}To{1}", twoEntitiesNames[0], twoEntitiesNames[1]));
- }
-
- protected void PropertyColumnName(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer)
- {
- if (member.PreviousPath == null || member.LocalMember == null)
- {
- return;
- }
- if (member.PreviousPath.LocalMember.GetPropertyOrFieldType().IsGenericCollection())
- {
- return;
- }
-
- var pathToMap = member.DepureFirstLevelIfCollection();
- propertyCustomizer.Column(pathToMap.ToColumnName());
- }
-
- protected void JoinedSubclassKeyAsRootIdColumn(IModelInspector modelInspector, System.Type type, IJoinedSubclassAttributesMapper joinedSubclassCustomizer)
- {
- var idMember = type.GetProperties().Cast<MemberInfo>().Concat(type.GetFields()).FirstOrDefault(mi => modelInspector.IsPersistentId(mi.GetMemberFromDeclaringType()));
- if (idMember != null)
- {
- joinedSubclassCustomizer.Key(km => km.Column(idMember.Name));
- }
- }
-
protected SimpleModelInspector SimpleModelInspector
{
get { return (SimpleModelInspector) base.ModelInspector; }
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/JoinedSubclassKeyAsRootIdColumnTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/JoinedSubclassKeyAsRootIdColumnTest.cs 2011-04-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/JoinedSubclassKeyAsRootIdColumnTest.cs 2011-04-13 17:02:42 UTC (rev 5685)
@@ -1,53 +0,0 @@
-using System.Linq;
-using NHibernate.Mapping.ByCode;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
-{
- public class JoinedSubclassKeyAsRootIdColumnTest
- {
- private class MyClass
- {
- public int MyId { get; set; }
- public int HisId { get; set; }
- }
-
- private class Inherited : MyClass
- {
- }
-
- [Test]
- public void WhenBaseIsIdThenUseId()
- {
- var mapper = new ConventionModelMapper();
- mapper.Class<MyClass>(map=> map.Id(x=> x.MyId));
- var mapping = mapper.CompileMappingFor(new[] { typeof(Inherited), typeof(MyClass) });
- var hbmJoinedClass = mapping.JoinedSubclasses[0];
-
- hbmJoinedClass.key.Columns.Single().name.Should().Be("MyId");
- }
-
- [Test]
- public void WhenBaseIsPoIdThenUsePoId()
- {
- var mapper = new ConventionModelMapper();
- mapper.Class<MyClass>(map => map.Id(x => x.HisId));
- var mapping = mapper.CompileMappingFor(new[] { typeof(Inherited), typeof(MyClass) });
- var hbmJoinedClass = mapping.JoinedSubclasses[0];
-
- hbmJoinedClass.key.Columns.Single().name.Should().Be("HisId");
- }
-
- [Test]
- public void WhenNoPoidMemberThenDoesNotSet()
- {
- var mapper = new ConventionModelMapper();
- mapper.Class<MyClass>(map => { });
- var mapping = mapper.CompileMappingFor(new[] { typeof(Inherited), typeof(MyClass) });
- var hbmJoinedClass = mapping.JoinedSubclasses[0];
-
- hbmJoinedClass.key.Columns.Single().name.Should().Not.Be("MyId").And.Not.Be("HisId");
- }
- }
-}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs 2011-04-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs 2011-04-13 17:02:42 UTC (rev 5685)
@@ -1,101 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
-{
- public class ManyToManyInCollectionTableTests
- {
- private class MyClass
- {
- public int Id { get; set; }
- public ICollection<MyBidirect> MyBidirects { get; set; }
- public IDictionary<MyBidirect, string> MapKey { get; set; }
- public IDictionary<string, MyBidirect> MapValue { get; set; }
- public MyComponent MyComponent { get; set; }
- }
-
- private class MyComponent
- {
- public ICollection<MyBidirect> MyBidirects { get; set; }
- }
-
- private class MyBidirect
- {
- public int Id { get; set; }
- public ICollection<MyClass> MyClasses { get; set; }
- }
-
- private HbmMapping GetModelMapping()
- {
- var mapper = new ConventionModelMapper();
- mapper.Class<MyClass>(map =>
- {
- map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
- map.Map(mc => mc.MapKey, c => { }, mk => mk.ManyToMany(), mv => { });
- map.Map(mc => mc.MapValue, c => { }, mk => { }, mv => mv.ManyToMany());
- });
- mapper.Class<MyBidirect>(map =>
- {
- map.Bag(mc => mc.MyClasses, c => { }, rel => rel.ManyToMany());
- });
- mapper.Component<MyComponent>(map =>
- {
- map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
- });
- return mapper.CompileMappingFor(new[] {typeof (MyClass), typeof (MyBidirect)});
- }
-
- [Test]
- public void WhenManyToManyCollectionThenApplyTableAlphabetical()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMyBidirect = mapping.RootClasses.Where(x => x.Name.Contains("MyBidirect")).Single();
-
- var hbmBagMyClass = hbmMyClass.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
- var hbmBagMyBidirect = hbmMyBidirect.Properties.Where(p => p.Name == "MyClasses").OfType<HbmBag>().Single();
-
- hbmBagMyClass.Table.Should().Be("MyBidirectToMyClass");
- hbmBagMyBidirect.Table.Should().Be(hbmBagMyClass.Table);
- }
-
- [Test]
- public void WhenRelationDeclaredAsManyToManyForDictionaryKeyThenNoMatch()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMapKey = hbmMyClass.Properties.Where(p => p.Name == "MapKey").OfType<HbmMap>().Single();
-
- hbmMapKey.Table.Should().Be.Null();
- }
-
- [Test]
- public void WhenRelationDeclaredAsManyToManyForDictionaryValueThenMatch()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMapValue = hbmMyClass.Properties.Where(p => p.Name == "MapValue").OfType<HbmMap>().Single();
-
- hbmMapValue.Table.Should().Be("MyBidirectToMyClass");
- }
-
- [Test]
- public void WhenManyToManyCollectionInsideComponentThenApplyFromEntityToEntity()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMyComponent = hbmMyClass.Properties.Where(p => p.Name == "MyComponent").OfType<HbmComponent>().Single();
- var hbmBagMyClass = hbmMyComponent.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
-
- hbmBagMyClass.Table.Should().Be("MyBidirectToMyClass");
- }
- }
-}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs 2011-04-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs 2011-04-13 17:02:42 UTC (rev 5685)
@@ -1,101 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
-{
- public class ManyToManyKeyIdColumnTests
- {
- private class MyClass
- {
- public int Id { get; set; }
- public ICollection<MyBidirect> MyBidirects { get; set; }
- public IDictionary<MyBidirect, string> MapKey { get; set; }
- public IDictionary<string, MyBidirect> MapValue { get; set; }
- public MyComponent MyComponent { get; set; }
- }
-
- private class MyComponent
- {
- public ICollection<MyBidirect> MyBidirects { get; set; }
- }
-
- private class MyBidirect
- {
- public int Id { get; set; }
- public ICollection<MyClass> MyClasses { get; set; }
- }
-
- private HbmMapping GetModelMapping()
- {
- var mapper = new ConventionModelMapper();
- mapper.Class<MyClass>(map =>
- {
- map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
- map.Map(mc => mc.MapKey, c => { }, mk => mk.ManyToMany(), mv => { });
- map.Map(mc => mc.MapValue, c => { }, mk => { }, mv => mv.ManyToMany());
- });
- mapper.Class<MyBidirect>(map =>
- {
- map.Bag(mc => mc.MyClasses, c => { }, rel => rel.ManyToMany());
- });
- mapper.Component<MyComponent>(map =>
- {
- map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
- });
- return mapper.CompileMappingFor(new[] { typeof(MyClass), typeof(MyBidirect) });
- }
-
- [Test]
- public void WhenManyToManyCollectionThenApplyTableAlphabetical()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMyBidirect = mapping.RootClasses.Where(x => x.Name.Contains("MyBidirect")).Single();
-
- var hbmBagMyClass = hbmMyClass.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
- var hbmBagMyBidirect = hbmMyBidirect.Properties.Where(p => p.Name == "MyClasses").OfType<HbmBag>().Single();
-
- hbmBagMyClass.Key.column1.Should().Be("MyClassId");
- hbmBagMyBidirect.Key.column1.Should().Be("MyBidirectId");
- }
-
- [Test]
- public void WhenRelationDeclaredAsManyToManyForDictionaryKeyThenNoMatch()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMapKey = hbmMyClass.Properties.Where(p => p.Name == "MapKey").OfType<HbmMap>().Single();
-
- hbmMapKey.Key.Columns.Single().name.Should().Not.Be("MyClassId");
- }
-
- [Test]
- public void WhenRelationDeclaredAsManyToManyForDictionaryValueThenMatch()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMapValue = hbmMyClass.Properties.Where(p => p.Name == "MapValue").OfType<HbmMap>().Single();
-
- hbmMapValue.Key.column1.Should().Be("MyClassId");
- }
-
- [Test]
- public void WhenManyToManyCollectionInsideComponentThenApplyFromEntityToEntity()
- {
- HbmMapping mapping = GetModelMapping();
-
- var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
- var hbmMyComponent = hbmMyClass.Properties.Where(p => p.Name == "MyComponent").OfType<HbmComponent>().Single();
- var hbmBagMyClass = hbmMyComponent.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
-
- hbmBagMyClass.Key.column1.Should().Be("MyClassId");
- }
- }
-}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs 2011-04-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs 2011-04-13 17:02:42 UTC (rev 5685)
@@ -1,63 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
-{
- public class PropertyColumnNameTests
- {
- private class MyClass
- {
- public int Id { get; set; }
- public string Fake1 { get; set; }
- }
-
- private class MyClassWithComponent
- {
- public int Id { get; set; }
- public MyComponent Component1 { get; set; }
- public IEnumerable<MyComponent> Components { get; set; }
- }
-
- private class MyComponent
- {
- public string Fake0 { get; set; }
- }
-
- [Test]
- public void WhenAtClassLevelThenNoMatch()
- {
- var mapper = new ConventionModelMapper();
- var mapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
- var hbmClass = mapping.RootClasses[0];
- var hbmProperty = hbmClass.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake1");
- hbmProperty.Columns.Should().Be.Empty();
- }
-
- [Test]
- public void WhenFirstLevelIsCollectionThenNoMatch()
- {
- var mapper = new ConventionModelMapper();
- var mapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithComponent) });
- var hbmClass = mapping.RootClasses[0];
- var hbmBag = hbmClass.Properties.OfType<HbmBag>().Single(x => x.Name == "Components");
- var hbmCompositeElement = (HbmCompositeElement) hbmBag.ElementRelationship;
- var hbmProperty = hbmCompositeElement.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake0");
- hbmProperty.Columns.Should().Be.Empty();
- }
-
- [Test]
- public void WhenAtComponentLevelThenMatch()
- {
- var mapper = new ConventionModelMapper();
- var mapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithComponent) });
- var hbmClass = mapping.RootClasses[0];
- var hbmComponent = hbmClass.Properties.OfType<HbmComponent>().Single();
- var hbmProperty = hbmComponent.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake0");
- hbmProperty.Columns.Single().name.Should().Be("Component1Fake0");
- }
- }
-}
\ 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-13 11:48:08 UTC (rev 5684)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 17:02:42 UTC (rev 5685)
@@ -511,10 +511,6 @@
<Compile Include="Linq\ByMethod\SumTests.cs" />
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
- <Compile Include="MappingByCode\ConventionModelMapperTests\JoinedSubclassKeyAsRootIdColumnTest.cs" />
- <Compile Include="MappingByCode\ConventionModelMapperTests\ManyToManyInCollectionTableTests.cs" />
- <Compile Include="MappingByCode\ConventionModelMapperTests\ManyToManyKeyIdColumnTests.cs" />
- <Compile Include="MappingByCode\ConventionModelMapperTests\PropertyColumnNameTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
@@ -2976,6 +2972,7 @@
<EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <Folder Include="MappingByCode\ConventionModelMapperTests\" />
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 11:48:19
|
Revision: 5684
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5684&view=rev
Author: fabiomaulo
Date: 2011-04-13 11:48:08 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
ConventionModelMapper with convention for many-to-many key
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 04:15:56 UTC (rev 5683)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-13 11:48:08 UTC (rev 5684)
@@ -19,10 +19,32 @@
BeforeMapProperty += PropertyColumnName;
BeforeMapList += ManyToManyInCollectionTable;
BeforeMapBag += ManyToManyInCollectionTable;
+ BeforeMapIdBag += ManyToManyInCollectionTable;
BeforeMapSet += ManyToManyInCollectionTable;
BeforeMapMap += ManyToManyInCollectionTable;
+
+ BeforeMapList += ManyToManyKeyIdColumn;
+ BeforeMapBag += ManyToManyKeyIdColumn;
+ BeforeMapIdBag += ManyToManyKeyIdColumn;
+ BeforeMapSet += ManyToManyKeyIdColumn;
+ BeforeMapMap += ManyToManyKeyIdColumn;
}
+ protected void ManyToManyKeyIdColumn(IModelInspector modelInspector, PropertyPath member, ICollectionPropertiesMapper collectionCustomizer)
+ {
+ System.Type propertyType = member.LocalMember.GetPropertyOrFieldType();
+
+ System.Type fromMany = member.GetContainerEntity(modelInspector);
+ System.Type toMany = propertyType.DetermineCollectionElementOrDictionaryValueType();
+ if (!modelInspector.IsEntity(toMany))
+ {
+ // does not apply when the relation is on the key of the dictionary
+ return;
+ }
+
+ collectionCustomizer.Key(km => km.Column(fromMany.Name + "Id"));
+ }
+
protected void ManyToManyInCollectionTable(IModelInspector modelInspector, PropertyPath member, ICollectionPropertiesMapper collectionCustomizer)
{
System.Type propertyType = member.LocalMember.GetPropertyOrFieldType();
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyKeyIdColumnTests.cs 2011-04-13 11:48:08 UTC (rev 5684)
@@ -0,0 +1,101 @@
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class ManyToManyKeyIdColumnTests
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ public ICollection<MyBidirect> MyBidirects { get; set; }
+ public IDictionary<MyBidirect, string> MapKey { get; set; }
+ public IDictionary<string, MyBidirect> MapValue { get; set; }
+ public MyComponent MyComponent { get; set; }
+ }
+
+ private class MyComponent
+ {
+ public ICollection<MyBidirect> MyBidirects { get; set; }
+ }
+
+ private class MyBidirect
+ {
+ public int Id { get; set; }
+ public ICollection<MyClass> MyClasses { get; set; }
+ }
+
+ private HbmMapping GetModelMapping()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(map =>
+ {
+ map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
+ map.Map(mc => mc.MapKey, c => { }, mk => mk.ManyToMany(), mv => { });
+ map.Map(mc => mc.MapValue, c => { }, mk => { }, mv => mv.ManyToMany());
+ });
+ mapper.Class<MyBidirect>(map =>
+ {
+ map.Bag(mc => mc.MyClasses, c => { }, rel => rel.ManyToMany());
+ });
+ mapper.Component<MyComponent>(map =>
+ {
+ map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
+ });
+ return mapper.CompileMappingFor(new[] { typeof(MyClass), typeof(MyBidirect) });
+ }
+
+ [Test]
+ public void WhenManyToManyCollectionThenApplyTableAlphabetical()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMyBidirect = mapping.RootClasses.Where(x => x.Name.Contains("MyBidirect")).Single();
+
+ var hbmBagMyClass = hbmMyClass.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
+ var hbmBagMyBidirect = hbmMyBidirect.Properties.Where(p => p.Name == "MyClasses").OfType<HbmBag>().Single();
+
+ hbmBagMyClass.Key.column1.Should().Be("MyClassId");
+ hbmBagMyBidirect.Key.column1.Should().Be("MyBidirectId");
+ }
+
+ [Test]
+ public void WhenRelationDeclaredAsManyToManyForDictionaryKeyThenNoMatch()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMapKey = hbmMyClass.Properties.Where(p => p.Name == "MapKey").OfType<HbmMap>().Single();
+
+ hbmMapKey.Key.Columns.Single().name.Should().Not.Be("MyClassId");
+ }
+
+ [Test]
+ public void WhenRelationDeclaredAsManyToManyForDictionaryValueThenMatch()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMapValue = hbmMyClass.Properties.Where(p => p.Name == "MapValue").OfType<HbmMap>().Single();
+
+ hbmMapValue.Key.column1.Should().Be("MyClassId");
+ }
+
+ [Test]
+ public void WhenManyToManyCollectionInsideComponentThenApplyFromEntityToEntity()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMyComponent = hbmMyClass.Properties.Where(p => p.Name == "MyComponent").OfType<HbmComponent>().Single();
+ var hbmBagMyClass = hbmMyComponent.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
+
+ hbmBagMyClass.Key.column1.Should().Be("MyClassId");
+ }
+ }
+}
\ 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-13 04:15:56 UTC (rev 5683)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 11:48:08 UTC (rev 5684)
@@ -513,6 +513,7 @@
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\JoinedSubclassKeyAsRootIdColumnTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\ManyToManyInCollectionTableTests.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\ManyToManyKeyIdColumnTests.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyColumnNameTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2011-04-13 04:16:02
|
Revision: 5683
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5683&view=rev
Author: patearl
Date: 2011-04-13 04:15:56 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Tests: Deal with the fact that PostgreSQL doesn't support null UTF characters.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs
trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -33,6 +33,8 @@
using (ITransaction tx = s.BeginTransaction())
{
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
bc.Id = 1;
bc.ValueOfPrivateField = 5;
s.Save(bc);
@@ -56,6 +58,8 @@
using (ITransaction tx = s.BeginTransaction())
{
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
bc.Id = 1;
s.Save(bc);
tx.Commit();
@@ -819,6 +823,8 @@
ISession s = OpenSession();
ITransaction t = s.BeginTransaction();
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
int id = 1;
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -47,6 +47,8 @@
public virtual bool HasBrokenDecimalType { get { return false; } }
+ public virtual bool SupportsNullCharactersInUtfStrings { get { return true; } }
+
public virtual bool SupportsSelectForUpdateOnOuterJoin { get { return true; } }
public virtual bool SupportsHavingWithoutGroupBy { get { return true; } }
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -16,5 +16,10 @@
{
get { return false; }
}
+
+ public override bool SupportsNullCharactersInUtfStrings
+ {
+ get { return false; }
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-12 22:59:32
|
Revision: 5682
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5682&view=rev
Author: fabiomaulo
Date: 2011-04-12 22:59:26 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
ConventionModelMapper with convention for many-to-many table
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-12 19:16:13 UTC (rev 5681)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-12 22:59:26 UTC (rev 5682)
@@ -17,8 +17,30 @@
{
BeforeMapJoinedSubclass += JoinedSubclassKeyAsRootIdColumn;
BeforeMapProperty += PropertyColumnName;
+ BeforeMapList += ManyToManyInCollectionTable;
+ BeforeMapBag += ManyToManyInCollectionTable;
+ BeforeMapSet += ManyToManyInCollectionTable;
+ BeforeMapMap += ManyToManyInCollectionTable;
}
+ protected void ManyToManyInCollectionTable(IModelInspector modelInspector, PropertyPath member, ICollectionPropertiesMapper collectionCustomizer)
+ {
+ System.Type propertyType = member.LocalMember.GetPropertyOrFieldType();
+
+ System.Type fromMany = member.GetContainerEntity(modelInspector);
+ System.Type toMany = propertyType.DetermineCollectionElementOrDictionaryValueType();
+ if(!modelInspector.IsEntity(toMany))
+ {
+ // does not apply when the relation is on the key of the dictionary
+ // Note: a dictionary may have relation with 3 entities; in this handler we are covering only relations on values
+ return;
+ }
+ var relation = new[] { fromMany, toMany };
+ var twoEntitiesNames = (from relationOn in relation orderby relationOn.Name select relationOn.Name).ToArray();
+
+ collectionCustomizer.Table(string.Format("{0}To{1}", twoEntitiesNames[0], twoEntitiesNames[1]));
+ }
+
protected void PropertyColumnName(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer)
{
if (member.PreviousPath == null || member.LocalMember == null)
@@ -36,7 +58,7 @@
protected void JoinedSubclassKeyAsRootIdColumn(IModelInspector modelInspector, System.Type type, IJoinedSubclassAttributesMapper joinedSubclassCustomizer)
{
- var idMember = type.GetProperties().Cast<MemberInfo>().Concat(type.GetFields()).FirstOrDefault(mi => ModelInspector.IsPersistentId(mi.GetMemberFromDeclaringType()));
+ var idMember = type.GetProperties().Cast<MemberInfo>().Concat(type.GetFields()).FirstOrDefault(mi => modelInspector.IsPersistentId(mi.GetMemberFromDeclaringType()));
if (idMember != null)
{
joinedSubclassCustomizer.Key(km => km.Column(idMember.Name));
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs 2011-04-12 19:16:13 UTC (rev 5681)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs 2011-04-12 22:59:26 UTC (rev 5682)
@@ -7,6 +7,16 @@
{
public static class PropertyPathExtensions
{
+ public static System.Type GetContainerEntity(this PropertyPath propertyPath, IModelInspector domainInspector)
+ {
+ PropertyPath analizing = propertyPath;
+ while (analizing.PreviousPath != null && !domainInspector.IsEntity(analizing.LocalMember.ReflectedType))
+ {
+ analizing = analizing.PreviousPath;
+ }
+ return analizing.LocalMember.ReflectedType;
+ }
+
public static string ToColumnName(this PropertyPath propertyPath, string pathSeparator)
{
return propertyPath.ToString().Replace(".", pathSeparator);
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ManyToManyInCollectionTableTests.cs 2011-04-12 22:59:26 UTC (rev 5682)
@@ -0,0 +1,101 @@
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class ManyToManyInCollectionTableTests
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ public ICollection<MyBidirect> MyBidirects { get; set; }
+ public IDictionary<MyBidirect, string> MapKey { get; set; }
+ public IDictionary<string, MyBidirect> MapValue { get; set; }
+ public MyComponent MyComponent { get; set; }
+ }
+
+ private class MyComponent
+ {
+ public ICollection<MyBidirect> MyBidirects { get; set; }
+ }
+
+ private class MyBidirect
+ {
+ public int Id { get; set; }
+ public ICollection<MyClass> MyClasses { get; set; }
+ }
+
+ private HbmMapping GetModelMapping()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(map =>
+ {
+ map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
+ map.Map(mc => mc.MapKey, c => { }, mk => mk.ManyToMany(), mv => { });
+ map.Map(mc => mc.MapValue, c => { }, mk => { }, mv => mv.ManyToMany());
+ });
+ mapper.Class<MyBidirect>(map =>
+ {
+ map.Bag(mc => mc.MyClasses, c => { }, rel => rel.ManyToMany());
+ });
+ mapper.Component<MyComponent>(map =>
+ {
+ map.Bag(mc => mc.MyBidirects, c => { }, rel => rel.ManyToMany());
+ });
+ return mapper.CompileMappingFor(new[] {typeof (MyClass), typeof (MyBidirect)});
+ }
+
+ [Test]
+ public void WhenManyToManyCollectionThenApplyTableAlphabetical()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMyBidirect = mapping.RootClasses.Where(x => x.Name.Contains("MyBidirect")).Single();
+
+ var hbmBagMyClass = hbmMyClass.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
+ var hbmBagMyBidirect = hbmMyBidirect.Properties.Where(p => p.Name == "MyClasses").OfType<HbmBag>().Single();
+
+ hbmBagMyClass.Table.Should().Be("MyBidirectToMyClass");
+ hbmBagMyBidirect.Table.Should().Be(hbmBagMyClass.Table);
+ }
+
+ [Test]
+ public void WhenRelationDeclaredAsManyToManyForDictionaryKeyThenNoMatch()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMapKey = hbmMyClass.Properties.Where(p => p.Name == "MapKey").OfType<HbmMap>().Single();
+
+ hbmMapKey.Table.Should().Be.Null();
+ }
+
+ [Test]
+ public void WhenRelationDeclaredAsManyToManyForDictionaryValueThenMatch()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMapValue = hbmMyClass.Properties.Where(p => p.Name == "MapValue").OfType<HbmMap>().Single();
+
+ hbmMapValue.Table.Should().Be("MyBidirectToMyClass");
+ }
+
+ [Test]
+ public void WhenManyToManyCollectionInsideComponentThenApplyFromEntityToEntity()
+ {
+ HbmMapping mapping = GetModelMapping();
+
+ var hbmMyClass = mapping.RootClasses.Where(x => x.Name.Contains("MyClass")).Single();
+ var hbmMyComponent = hbmMyClass.Properties.Where(p => p.Name == "MyComponent").OfType<HbmComponent>().Single();
+ var hbmBagMyClass = hbmMyComponent.Properties.Where(p => p.Name == "MyBidirects").OfType<HbmBag>().Single();
+
+ hbmBagMyClass.Table.Should().Be("MyBidirectToMyClass");
+ }
+ }
+}
\ 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-12 19:16:13 UTC (rev 5681)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-12 22:59:26 UTC (rev 5682)
@@ -512,6 +512,7 @@
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\JoinedSubclassKeyAsRootIdColumnTest.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\ManyToManyInCollectionTableTests.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyColumnNameTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-12 19:16:20
|
Revision: 5681
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5681&view=rev
Author: fabiomaulo
Date: 2011-04-12 19:16:13 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Ups
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/PropertiesExclusionTests.cs
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/PropertiesExclusionTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/PropertiesExclusionTests.cs 2011-04-12 18:37:57 UTC (rev 5680)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/PropertiesExclusionTests.cs 2011-04-12 19:16:13 UTC (rev 5681)
@@ -80,9 +80,11 @@
}
[Test]
- public void IncludesFields()
+ public void IncludesFieldsWhenExplicitDeclared()
{
var autoinspector = new SimpleModelInspector();
+ var mapper = new ModelMapper(autoinspector);
+ mapper.Class<MyEntity>(map => map.Property(ForClass<MyEntity>.Field("pizza"), x => { }));
var inspector = (IModelInspector)autoinspector;
var pi = typeof(MyEntity).GetField("pizza", BindingFlags.Instance | BindingFlags.NonPublic);
@@ -90,6 +92,16 @@
}
[Test]
+ public void DoesNotIncludesFieldsByDefault()
+ {
+ var autoinspector = new SimpleModelInspector();
+ var inspector = (IModelInspector)autoinspector;
+
+ var pi = typeof(MyEntity).GetField("pizza", BindingFlags.Instance | BindingFlags.NonPublic);
+ inspector.IsPersistentProperty(pi).Should().Be.False();
+ }
+
+ [Test]
public void IncludesAutoprop()
{
var autoinspector = new SimpleModelInspector();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-12 18:38:03
|
Revision: 5680
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5680&view=rev
Author: fabiomaulo
Date: 2011-04-12 18:37:57 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
ConventionModelMapper with convention for property column
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/SimpleModelInspector.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-12 17:55:24 UTC (rev 5679)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-12 18:37:57 UTC (rev 5680)
@@ -16,8 +16,24 @@
protected virtual void AppendDefaultEvents()
{
BeforeMapJoinedSubclass += JoinedSubclassKeyAsRootIdColumn;
+ BeforeMapProperty += PropertyColumnName;
}
+ protected void PropertyColumnName(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer)
+ {
+ if (member.PreviousPath == null || member.LocalMember == null)
+ {
+ return;
+ }
+ if (member.PreviousPath.LocalMember.GetPropertyOrFieldType().IsGenericCollection())
+ {
+ return;
+ }
+
+ var pathToMap = member.DepureFirstLevelIfCollection();
+ propertyCustomizer.Column(pathToMap.ToColumnName());
+ }
+
protected void JoinedSubclassKeyAsRootIdColumn(IModelInspector modelInspector, System.Type type, IJoinedSubclassAttributesMapper joinedSubclassCustomizer)
{
var idMember = type.GetProperties().Cast<MemberInfo>().Concat(type.GetFields()).FirstOrDefault(mi => ModelInspector.IsPersistentId(mi.GetMemberFromDeclaringType()));
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs 2011-04-12 17:55:24 UTC (rev 5679)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs 2011-04-12 18:37:57 UTC (rev 5680)
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Reflection;
namespace NHibernate.Mapping.ByCode
@@ -43,5 +44,19 @@
analizing = analizing.PreviousPath;
} while (analizing != null);
}
+
+ public static PropertyPath DepureFirstLevelIfCollection(this PropertyPath source)
+ {
+ // when the component is used as elements of a collection, the name of the property representing
+ // the collection itself may be ignored since each collection will have its own table.
+ // Note: In some cases may be a problem.
+ const int penultimateOffset = 2;
+ if (!source.GetRootMember().GetPropertyOrFieldType().IsGenericCollection())
+ {
+ return source;
+ }
+ var paths = source.InverseProgressivePath().ToArray();
+ return paths[paths.Length - penultimateOffset];
+ }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/SimpleModelInspector.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/SimpleModelInspector.cs 2011-04-12 17:55:24 UTC (rev 5679)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/SimpleModelInspector.cs 2011-04-12 18:37:57 UTC (rev 5680)
@@ -48,7 +48,7 @@
isTablePerClass = (t, declared) => declared || MatchTablePerClass(t);
isPersistentId = (m, declared) => declared || MatchPoIdPattern(m);
isComponent = (t, declared) => declared || MatchComponentPattern(t);
- isPersistentProperty = (m, declared) => declared || MatchNoReadOnlyPropertyPattern(m);
+ isPersistentProperty = (m, declared) => declared || ((m is PropertyInfo) && MatchNoReadOnlyPropertyPattern(m));
isSet = (m, declared) => declared || MatchCollection(m, MatchSetMember);
isArray = (m, declared) => declared || MatchCollection(m, MatchArrayMember);
isBag = (m, declared) => declared || MatchCollection(m, MatchBagMember);
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/PropertyColumnNameTests.cs 2011-04-12 18:37:57 UTC (rev 5680)
@@ -0,0 +1,63 @@
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class PropertyColumnNameTests
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ public string Fake1 { get; set; }
+ }
+
+ private class MyClassWithComponent
+ {
+ public int Id { get; set; }
+ public MyComponent Component1 { get; set; }
+ public IEnumerable<MyComponent> Components { get; set; }
+ }
+
+ private class MyComponent
+ {
+ public string Fake0 { get; set; }
+ }
+
+ [Test]
+ public void WhenAtClassLevelThenNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var mapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+ var hbmClass = mapping.RootClasses[0];
+ var hbmProperty = hbmClass.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake1");
+ hbmProperty.Columns.Should().Be.Empty();
+ }
+
+ [Test]
+ public void WhenFirstLevelIsCollectionThenNoMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var mapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithComponent) });
+ var hbmClass = mapping.RootClasses[0];
+ var hbmBag = hbmClass.Properties.OfType<HbmBag>().Single(x => x.Name == "Components");
+ var hbmCompositeElement = (HbmCompositeElement) hbmBag.ElementRelationship;
+ var hbmProperty = hbmCompositeElement.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake0");
+ hbmProperty.Columns.Should().Be.Empty();
+ }
+
+ [Test]
+ public void WhenAtComponentLevelThenMatch()
+ {
+ var mapper = new ConventionModelMapper();
+ var mapping = mapper.CompileMappingFor(new[] { typeof(MyClassWithComponent) });
+ var hbmClass = mapping.RootClasses[0];
+ var hbmComponent = hbmClass.Properties.OfType<HbmComponent>().Single();
+ var hbmProperty = hbmComponent.Properties.OfType<HbmProperty>().Single(x => x.Name == "Fake0");
+ hbmProperty.Columns.Single().name.Should().Be("Component1Fake0");
+ }
+ }
+}
\ 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-12 17:55:24 UTC (rev 5679)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-12 18:37:57 UTC (rev 5680)
@@ -512,6 +512,7 @@
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\JoinedSubclassKeyAsRootIdColumnTest.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\PropertyColumnNameTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-12 17:55:31
|
Revision: 5679
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5679&view=rev
Author: fabiomaulo
Date: 2011-04-12 17:55:24 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Moved classes to the "public" namespace
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/NHibernate.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPath.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPath.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPathExtensions.cs
Deleted: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPath.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPath.cs 2011-04-12 17:50:33 UTC (rev 5678)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPath.cs 2011-04-12 17:55:24 UTC (rev 5679)
@@ -1,84 +0,0 @@
-using System;
-using System.Reflection;
-
-namespace NHibernate.Mapping.ByCode.Impl
-{
- public class PropertyPath
- {
- private readonly int hashCode;
- private readonly MemberInfo localMember;
- private readonly PropertyPath previousPath;
-
- public PropertyPath(PropertyPath previousPath, MemberInfo localMember)
- {
- if (localMember == null)
- {
- throw new ArgumentNullException("localMember");
- }
- this.previousPath = previousPath;
- this.localMember = localMember;
- hashCode = localMember.GetHashCode() ^ (previousPath != null ? previousPath.GetHashCode() : 41);
- }
-
- public PropertyPath PreviousPath
- {
- get { return previousPath; }
- }
-
- public MemberInfo LocalMember
- {
- get { return localMember; }
- }
-
- public MemberInfo GetRootMember()
- {
- PropertyPath analizing = this;
- while (analizing.previousPath != null)
- {
- analizing = analizing.previousPath;
- }
- return analizing.localMember;
- }
-
- public override bool Equals(object obj)
- {
- if (ReferenceEquals(null, obj))
- {
- return false;
- }
- if (ReferenceEquals(this, obj))
- {
- return true;
- }
- return Equals(obj as PropertyPath);
- }
-
- public bool Equals(PropertyPath other)
- {
- if (ReferenceEquals(null, other))
- {
- return false;
- }
- if (ReferenceEquals(this, other))
- {
- return true;
- }
- return hashCode == other.GetHashCode();
- }
-
- public override int GetHashCode()
- {
- return hashCode;
- }
-
- public string ToColumnName()
- {
- return PreviousPath == null ? LocalMember.Name : PreviousPath.ToColumnName() + LocalMember.Name;
- }
-
- public override string ToString()
- {
- return PreviousPath == null ? LocalMember.Name : PreviousPath + "." + LocalMember.Name;
- }
- }
-}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPathExtensions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPathExtensions.cs 2011-04-12 17:50:33 UTC (rev 5678)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPathExtensions.cs 2011-04-12 17:55:24 UTC (rev 5679)
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace NHibernate.Mapping.ByCode.Impl
-{
- public static class PropertyPathExtensions
- {
- public static string ToColumnName(this PropertyPath propertyPath, string pathSeparator)
- {
- return propertyPath.ToString().Replace(".", pathSeparator);
- }
-
- /// <summary>
- /// Provide the list of progressive-paths
- /// </summary>
- /// <param name="source"></param>
- /// <returns>
- /// Given a path as : Pl1.Pl2.Pl3.Pl4.Pl5 returns paths-sequence as:
- /// Pl5
- /// Pl4.Pl5
- /// Pl3.Pl4.Pl5
- /// Pl2.Pl3.Pl4.Pl5
- /// Pl1.Pl2.Pl3.Pl4.Pl5
- /// </returns>
- public static IEnumerable<PropertyPath> InverseProgressivePath(this PropertyPath source)
- {
- if (source == null)
- {
- throw new ArgumentNullException("source");
- }
- PropertyPath analizing = source;
- var returnLocalMembers = new List<MemberInfo>(10);
- do
- {
- returnLocalMembers.Add(analizing.LocalMember);
- PropertyPath progressivePath = null;
- for (int i = returnLocalMembers.Count - 1; i >= 0; i--)
- {
- progressivePath = new PropertyPath(progressivePath, returnLocalMembers[i]);
- }
- yield return progressivePath;
- analizing = analizing.PreviousPath;
- } while (analizing != null);
- }
- }
-}
\ No newline at end of file
Copied: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPath.cs (from rev 5676, trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPath.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPath.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPath.cs 2011-04-12 17:55:24 UTC (rev 5679)
@@ -0,0 +1,84 @@
+using System;
+using System.Reflection;
+
+namespace NHibernate.Mapping.ByCode
+{
+ public class PropertyPath
+ {
+ private readonly int hashCode;
+ private readonly MemberInfo localMember;
+ private readonly PropertyPath previousPath;
+
+ public PropertyPath(PropertyPath previousPath, MemberInfo localMember)
+ {
+ if (localMember == null)
+ {
+ throw new ArgumentNullException("localMember");
+ }
+ this.previousPath = previousPath;
+ this.localMember = localMember;
+ hashCode = localMember.GetHashCode() ^ (previousPath != null ? previousPath.GetHashCode() : 41);
+ }
+
+ public PropertyPath PreviousPath
+ {
+ get { return previousPath; }
+ }
+
+ public MemberInfo LocalMember
+ {
+ get { return localMember; }
+ }
+
+ public MemberInfo GetRootMember()
+ {
+ PropertyPath analizing = this;
+ while (analizing.previousPath != null)
+ {
+ analizing = analizing.previousPath;
+ }
+ return analizing.localMember;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj))
+ {
+ return false;
+ }
+ if (ReferenceEquals(this, obj))
+ {
+ return true;
+ }
+ return Equals(obj as PropertyPath);
+ }
+
+ public bool Equals(PropertyPath other)
+ {
+ if (ReferenceEquals(null, other))
+ {
+ return false;
+ }
+ if (ReferenceEquals(this, other))
+ {
+ return true;
+ }
+ return hashCode == other.GetHashCode();
+ }
+
+ public override int GetHashCode()
+ {
+ return hashCode;
+ }
+
+ public string ToColumnName()
+ {
+ return PreviousPath == null ? LocalMember.Name : PreviousPath.ToColumnName() + LocalMember.Name;
+ }
+
+ public override string ToString()
+ {
+ return PreviousPath == null ? LocalMember.Name : PreviousPath + "." + LocalMember.Name;
+ }
+ }
+}
\ No newline at end of file
Copied: trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs (from rev 5676, trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/PropertyPathExtensions.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/PropertyPathExtensions.cs 2011-04-12 17:55:24 UTC (rev 5679)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+
+namespace NHibernate.Mapping.ByCode
+{
+ public static class PropertyPathExtensions
+ {
+ public static string ToColumnName(this PropertyPath propertyPath, string pathSeparator)
+ {
+ return propertyPath.ToString().Replace(".", pathSeparator);
+ }
+
+ /// <summary>
+ /// Provide the list of progressive-paths
+ /// </summary>
+ /// <param name="source"></param>
+ /// <returns>
+ /// Given a path as : Pl1.Pl2.Pl3.Pl4.Pl5 returns paths-sequence as:
+ /// Pl5
+ /// Pl4.Pl5
+ /// Pl3.Pl4.Pl5
+ /// Pl2.Pl3.Pl4.Pl5
+ /// Pl1.Pl2.Pl3.Pl4.Pl5
+ /// </returns>
+ public static IEnumerable<PropertyPath> InverseProgressivePath(this PropertyPath source)
+ {
+ if (source == null)
+ {
+ throw new ArgumentNullException("source");
+ }
+ PropertyPath analizing = source;
+ var returnLocalMembers = new List<MemberInfo>(10);
+ do
+ {
+ returnLocalMembers.Add(analizing.LocalMember);
+ PropertyPath progressivePath = null;
+ for (int i = returnLocalMembers.Count - 1; i >= 0; i--)
+ {
+ progressivePath = new PropertyPath(progressivePath, returnLocalMembers[i]);
+ }
+ yield return progressivePath;
+ analizing = analizing.PreviousPath;
+ } while (analizing != null);
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-04-12 17:50:33 UTC (rev 5678)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-04-12 17:55:24 UTC (rev 5679)
@@ -409,8 +409,8 @@
<Compile Include="Mapping\ByCode\Impl\OneToManyMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\OneToOneMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\PropertyMapper.cs" />
- <Compile Include="Mapping\ByCode\Impl\PropertyPath.cs" />
- <Compile Include="Mapping\ByCode\Impl\PropertyPathExtensions.cs" />
+ <Compile Include="Mapping\ByCode\PropertyPath.cs" />
+ <Compile Include="Mapping\ByCode\PropertyPathExtensions.cs" />
<Compile Include="Mapping\ByCode\Impl\SetMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\SubclassMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\TypeNameUtil.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|