Я работаю над проектом, в котором мне нужно предоставить пользователям несколько древовидных представлений. До сих пор мне удалось получить полностью работоспособные мои бизнес-объекты и их сохранение в базе данных.
Я использую NHibernate с SQLite3 для хранения объектов. Бизнес-объект выглядит следующим образом:
public class ErrorObject
{
public virtual int ID { get; set; }
public virtual string Description { get; set; }
private IList<ErrorObject> _errorObjects = new List<ErrorObject>();
public virtual IList<ErrorObject> ErrorObjects
{
get { return _errorObjects; }
set { _errorObjects = value; }
}
}
Я привязываю это к древовидной структуре следующим образом:
<TreeView ItemsSource="{Binding ErrorObjects}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type DataModel:ErrorObject}"
ItemsSource="{Binding ErrorObjects}">
<TextBlock Text="{Binding Path=Description}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Меня удивляет тот факт, что, пока я не закрываю сессию NHibernate, у меня полная ленивая загрузка "из коробки": o)
Кто-нибудь может посоветовать, если это способ продолжить? Или у меня ошибочная концепция?