我有一组流畅的对象映射,如下所示:
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 连接它以获得状态等信息。但是,当我尝试在 Directory 的 SpecialUsers 集合中引用 SpecialUser 时,我收到“未定义列'状态'”的错误,因为在生成的 SQL 中,NHibernate 尝试从 SpecialUser 表中获取状态列,而不是用户表. 有没有办法明确告诉 NHibernate 哪个表获取 DirectoryMapping 中的 Status 列?