Using ExcludeRelationData (or RelationTargetAuditMode.NotAudited using 
Attribute conf) on a bidirectional one-to-many ref currently doesn't work.

I saw you reported...
https://nhibernate.jira.com/browse/NHE-116
Confirmed.



________________________________
Från: [email protected] [[email protected]] för 
[email protected] [[email protected]]
Skickat: den 10 april 2013 18:44
Till: [email protected]
Ämne: [nhusers] Envers FluentConfiguration: Relation to non-audited table


In integrating NHibernate.Envers with our framework, I'm trying to determine 
how to enable auditing on one table but not on a related table.  We're using 
FluentConfiguration, out of a desire to be as POCO as possible.

I have three classes: AuditParent, AuditChild, and NoAuditChild, where there's 
a one-to-many from AuditParent to both other classes.  My Envers configuration 
looks like this:

            var ecfg = new FluentConfiguration();
            ecfg.Audit<AuditParent>()
                .ExcludeRelationData(a => a.NoAuditChildren);
            ecfg.Audit<AuditChild>();

When I run cfg.IntegrateWithEnvers(ecfg), though, I get the following error:

NHibernate.MappingException : An audited relation from 
NHibernate.Envers.Tests.NetSpecific.UnitTests.CustomLists.AuditParent.NoAuditChildren
 to a not audited entity 
NHibernate.Envers.Tests.NetSpecific.UnitTests.CustomLists.NoAuditChild!
   at 
NHibernate.Envers.Configuration.Metadata.AuditMetadataGenerator.GetReferencedIdMappingData(String
 entityName, String referencedEntityName, PropertyAuditingData 
propertyAuditingData, Boolean allowNotAuditedTarget) in 
AuditMetadataGenerator.cs: line 546
   at 
NHibernate.Envers.Configuration.Metadata.CollectionMetadataGenerator.addOneToManyAttached(Boolean
 fakeOneToManyBidirectional) in CollectionMetadataGenerator.cs: line 116
   at 
NHibernate.Envers.Configuration.Metadata.CollectionMetadataGenerator.AddCollection()
 in CollectionMetadataGenerator.cs: line 94
...

It looks to me like the code is adding AuditedAttribute(TargetAuditMode = 
RelationTargetAuditMode.NotAudited) to the property, but somehow this doesn't 
stop the mapping code from trying to map the relation anyway.  There may be a 
problem with the if condition in GetReferencedIdMappingData...  I should be 
able to upload a failing unit test on Bitbucket if desired, unless I'm just 
doing something wrong with my configuration.

Aaron V. Humphrey
Pleasant Solutions


--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to