Skip to content

Commit c34d320

Browse files
committed
merging 216 back in
1 parent 8ddda12 commit c34d320

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,9 +120,12 @@
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" />
123+
<Compile Include="AutoMapping\Overrides\ParentOverridesWithSubclasses.cs" />
124124
<Compile Include="AutoMapping\UnionSubclassConventionTests.cs" />
125-
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
125+
<Compile Include="AutoMapping\UnionSubclassTests.cs" />
126+
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverride.cs" />
127+
<Compile Include="Fixtures\AutoMappingAlterations\AbstractOverrideImplementation.cs" />
128+
<Compile Include="Fixtures\AutoMappingAlterations\Model\Qux.cs" />
126129
<Compile Include="StubTypeSource.cs" />
127130
<Compile Include="AutoMapping\TestFixtures.cs" />
128131
<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)