I have the following entities defined:

public class Log {
   public virtual int Id { get; set; }
   public virtual DateTime DateCreated { get; set; }
}

public class Audit : Log {
   public virtual string Action { get; set; }
}

public class UserAudit : Audit {
   public virtual User User { get; set; }
}

Note: Both "Audit" and "UserAudit" are mapped as sub-classes to their own 
separate table in the database.

Now say I try to query for the audits by saying session.Query<Audit>(). I 
have found this does a join against the "UserAudit" table even though I 
don't wish to display any of the "UserAudit" information. After some 
research I discovered that I could add polymorphism explicit against the 
"Log" mapping to prevent this. However this did not do anything. I'm 
guessing it would work fine for session.Query<Log>() and the issue arises 
because I am using multiple inheritance.

I could change my structure to only use a single level of inheritance but 
this is a lot of work for me at this stage. I'd appreciate it if anyone 
could let me know if this is possible without having to change my entities 
and database structure.

Thanks

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to