次のような流暢なオブジェクトマッピングのセットがあります。
public class UserMap : ClassMap<User>
{
public UserMap()
{
Map(x => x.Id);
Map(x => x.Status);
}
}
public class SpecialUserMap : SubClassMap<SpecialUser>
{
public SpecialUserMap()
{
Map(x => x.Property);
}
}
public class DirectoryMap : ClassMap<Directory>
{
public DirectoryMap
{
Map(x => x.Id);
HasMany(x => x.SpecialUsers).Where("Status = 0");
}
}
Userは結合テーブルであり、SpecialUserが結合してステータスなどを取得します。ただし、ディレクトリのSpecialUsersコレクションでSpecialUserを参照しようとすると、生成されたSQLのように、「Undefined column'Status'」というエラーが発生します。NHibernateは、UserテーブルではなくSpecialUserテーブルからStatus列を取得しようとします。 。DirectoryMappingのStatus列を取得するテーブルをNHibernateに明示的に指示する方法はありますか?