我在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