I know there are alot of posts on here about this (has nothing really
changed in NH core to fix this? I've seen the JIRAs dating back to
2006-2007 with this) but from what I was able to gleam from them I
couldn't make any progress resolving this issue.

All of my NH entities dervive from a type called BusinessEntity, it
has the most basic values ID, Created, CreatedBy, Updated, UpdatedBy.

CreatedBy / UpdatedBy takes a User

I have a IPreUpdateEventListener and IPreInsertEventListener that fire
to get the current DateTime for the audit values. Also in here I have
my logic to get the current user running which I grab by running a
criteria query against the windows user principle. From what I
understood from all of these posts on this subject my User class needs
to be eagerly loaded for this to work correctly in my EventListeners
this is how I load the user

        public User GetByDomainPrinciple(string domainPrinciple)
        {
            var domainPrincipleCriteria = DetachedCriteria.For<User>()
                .Add(Restrictions.Eq("DomainPrinciple",
domainPrinciple))
                .SetFetchMode("Roles", FetchMode.Eager)
                .SetFetchMode("Groups", FetchMode.Eager)
                .SetFetchMode("Groups.Roles", FetchMode.Eager)
                .SetCacheable(true)
                ;

            return Repository.QuerySingle(domainPrincipleCriteria);
        }

Repository.QuerySingle(domainPrincipleCriteria); is just

 return detachedCriteria.GetExecutableCriteria
(_conversation.Session).UniqueResult<T>();

Am I missing something or my criteria query wrong? I guess absolute
worst case scenario I could change CreatedBy to be a Guid instead of a
User and just manually assign the FK like that, but that seems very
dirty.
-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.


Reply via email to