У меня есть абстрактный базовый класс и унаследованные объекты Poco.Я использую таблицу для каждого подкласса наследования с беглой автоматикой nhibernate 1.1.
Наследование классов выглядит следующим образом
Узел (абстрактный класс) Место: Узел Актив: Узел
Класс узла в основном представляет собой древовидную структуру.
public abstract class Node
{
public virtual int Id
{
get;
set;
}
public virtual Node ParentNode
{
get;
set;
}
public virtual ICollection<Node> ChildNodes
{
get;
set;
}
}
Теперь проблема в том, что когда я получаю объект Asset из базы данных и выполняю objAsset.ParentNode, я могу привести ParentNode к Asset или Place, но если я сделаю что-то вроде objAsset.ParentNode.ParentNode.ParentNode, то ParentNode появится свведите "{Castle.Proxies.NodeProxy}", и я не могу привести его к Place или Asset.
Я знаю, что в моем случае конечный результат должен иметь тип Place, так как запись существует в базе данныхв таблице Place, но по какой-то причине NHibernate не может лениво загрузить его в фактический производный тип, он может быть преобразован только в базовый класс Node.
Есть идеи?
В ожидании Набиля