Skip to content

Commit 3bf3266

Browse files
committed
Merge branch 'fix216' of https://github.com/icambron/fluent-nhibernate into icambron-fix216
Conflicts: src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj
2 parents 08f59be + c34d320 commit 3bf3266

File tree

6 files changed

+48
-2
lines changed

6 files changed

+48
-2
lines changed

src/FluentNHibernate.Testing/AutoMapping/Overrides/AutoMappingOverrideAlterationTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,17 @@ public void RegularAutoMappingsStillWorkWhenOverridesApplied()
4040
new AutoMappingTester<Baz>(model)
4141
.Element("class/property[@name='Name']").Exists();
4242
}
43+
44+
[Test]
45+
public void OverridesCanBeAbstract()
46+
{
47+
var model = AutoMap.AssemblyOf<Qux>()
48+
.Where(t => t.Namespace == typeof(Qux).Namespace);
49+
50+
alteration.Alter(model);
51+
52+
new AutoMappingTester<Qux>(model)
53+
.Element("class").HasAttribute("batch-size", "10");
54+
}
4355
}
4456
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using FluentNHibernate.Automapping;
2+
using FluentNHibernate.Automapping.Alterations;
3+
4+
namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations
5+
{
6+
public abstract class AbstractOveride<T> : IAutoMappingOverride<T>
7+
{
8+
public void Override(AutoMapping<T> mapping)
9+
{
10+
mapping.BatchSize(10);
11+
}
12+
}
13+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using FluentNHibernate.Testing.Fixtures.AutoMappingAlterations.Model;
2+
3+
namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations
4+
{
5+
public class AbstractOverrideImplementation : AbstractOveride<Qux>
6+
{
7+
8+
}
9+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace FluentNHibernate.Testing.Fixtures.AutoMappingAlterations.Model
2+
{
3+
public class Qux
4+
{
5+
public virtual int Id { get; set; }
6+
public virtual string Name { get; set; }
7+
}
8+
}

src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,15 @@
120120
<Compile Include="AutoMapping\Overrides\ClassMappingOverrides.cs" />
121121
<Compile Include="AutoMapping\Overrides\CompositeIdOverrides.cs" />
122122
<Compile Include="AutoMapping\Overrides\HibernateMappingOverrides.cs" />
123-
<Compile Include="AutoMapping\Overrides\ParentOverridesWithSubclasses.cs" />
124123
<Compile Include="DomainModel\MemberAccessResolverTests.cs" />
125124
<Compile Include="DomainModel\MemberBackingFieldTests.cs" />
126125
<Compile Include="DomainModel\NamingTests.cs" />
126+
<Compile Include="AutoMapping\Overrides\ParentOverridesWithSubclasses.cs" />
127127
<Compile Include="AutoMapping\UnionSubclassConventionTests.cs" />
128-
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
128+
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
129+
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverride.cs" />
130+
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverrideImplementation.cs" />
131+
<Compile Include="Fixtures\AutoMappingAlterations\Model\Qux.cs" />
129132
<Compile Include="StubTypeSource.cs" />
130133
<Compile Include="AutoMapping\TestFixtures.cs" />
131134
<Compile Include="Cfg\Db\DB2ConfigurationTester.cs" />

src/FluentNHibernate/Automapping/Alterations/AutoMappingOverrideAlteration.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public void Alter(AutoPersistenceModel model)
3434
{
3535
// find all types deriving from IAutoMappingOverride<T>
3636
var types = from type in assembly.GetExportedTypes()
37+
where !type.IsAbstract
3738
let entity = (from interfaceType in type.GetInterfaces()
3839
where interfaceType.IsGenericType && interfaceType.GetGenericTypeDefinition() == typeof(IAutoMappingOverride<>)
3940
select interfaceType.GetGenericArguments()[0]).FirstOrDefault()

0 commit comments

Comments
 (0)