我在UI层中使用延迟加载时遇到了会话问题。nhibernate延迟加载
我(在DAO层)
public List<Visites> GetVisitesClientQuery(string idClient)
{
using (ISession session = Repository.TSession())
{
var results = (from v in session.Query<Visites>()
where v.Clients.Idclient == idClient
select v);
return results.ToList<Visites>();
}
}
的码片我称之为UI层:
var visites = VisiteManager.Instance.GetVisitesClientQuery(lstClients.SelectedValue.ToString());
foreach (Visites v in visites)
{
foreach (Factures f in v.Factures)
{
...
}
}
v.Factures是一个集合。
如果我在使用它的作品(会话打开)中调用它,但在这种情况下,它不起作用,我有这个错误。
Initializing[NHibernateTest.BusinessObjects.Visites#036000007935]-
failed to lazily initialize a collection of role:
NHibernateTest.BusinessObjects.Visites.Factures, no session or session was closed
是否可以在UI层中处理延迟加载调用?
但我想我不应该在我的视图层使用nhibernate函数? ...我发现链接http://stackoverflow.com/questions/1379500/nhibernate-removes-dal看起来相关。我很迷茫,所有这一层... – 2011-01-26 16:33:40