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.RegisterManyToOneMapping(property, mapping); }
protected override void RegisterNoVisiblePropertyMapping(string notVisiblePropertyOrFieldName, System.Action <IPropertyMapper> mapping) { MemberInfo member = typeof(TEntity).GetPropertyOrFieldMatchingName(notVisiblePropertyOrFieldName); MemberInfo memberOf = member.GetMemberFromReflectedType(typeof(TEntity)); ExplicitDeclarationsHolder.AddAsNaturalId(member); ExplicitDeclarationsHolder.AddAsNaturalId(memberOf); base.RegisterNoVisiblePropertyMapping(notVisiblePropertyOrFieldName, mapping); }
public void MergeNaturalIds() { var destination = new ExplicitDeclarationsHolder(); var source = new ExplicitDeclarationsHolder(); source.AddAsNaturalId(property); destination.Merge(source); destination.NaturalIds.Should().Have.Count.EqualTo(1); }
public void MergeNaturalIds() { var destination = new ExplicitDeclarationsHolder(); var source = new ExplicitDeclarationsHolder(); source.AddAsNaturalId(property); destination.Merge(source); Assert.That(destination.NaturalIds, Has.Count.EqualTo(1)); }