public void WhenDefineNaturalIdThenRegister() { var inspector = new ExplicitlyDeclaredModel(); var mapper = new ModelMapper(inspector); mapper.Class<MyClass>(map => { map.Id(x => x.Id, idmap => { }); map.NaturalId(nidm => { nidm.Property(x => x.Name); nidm.ManyToOne(x => x.Related); nidm.Component(x => x.MyComponent, cmap => { cmap.Property(y => y.FirstName); }); nidm.Any(x => x.Any, typeof(int), anymap => { }); }); }); inspector.IsMemberOfNaturalId(For<MyClass>.Property(x => x.Name)).Should().Be.True(); inspector.IsMemberOfNaturalId(For<MyClass>.Property(x => x.Related)).Should().Be.True(); inspector.IsMemberOfNaturalId(For<MyClass>.Property(x => x.MyComponent)).Should().Be.True(); inspector.IsMemberOfNaturalId(For<MyClass>.Property(x => x.Any)).Should().Be.True(); }
bool IModelInspector.IsMemberOfNaturalId(MemberInfo member) { bool declaredResult = DeclaredPolymorphicMatch(member, m => declaredModel.IsMemberOfNaturalId(m)); return(isMemberOfNaturalId(member, declaredResult)); }