I have a UserAccount class that can belong to Employee or Client
I do not know how in the field QueryOver a object OwnerRefObject with a filter.
Example:
public class UserAccount { public virtual int Id {get;set;} public virtual string UserName {get;set;} public virtual string Password {get;set;} public virtual object OwnerRefObject {get;set;} } public class UserMap:ClassMap<User> { public UserMap() { Id(x => x.Id).GeneratedBy.Indentity(); Map(x => x.UserName); Map(x => x.Password); ReferencesAny(x => x.OwnerRefObject) .IdentityType<int>() .EntityTypeColumn("OwnerObject_Type") .EntityIdentifierColumn("OwnerObject_Id") .AddMetaValue<Client>(typeof(Client).Name) .AddMetaValue<Employee>(typeof(Employee).Name); } }
Internal service:
public UserAccount GetClientUserAccountByClientId(int clientId) { var result = _userAccountRepository .QueryOver() .Where(x => x.OwnerRefObject is Client)
c # orm nhibernate fluent-nhibernate
Cristian E.
source share