對於一個ASP.Net項目我使用(流利)NHibernate的持久性和JQGrid顯示錶中的數據。但是當我想使用JQGrid的自動完成功能時,我在獲取AJAX請求中的數據時獲得了System.ArgumentException: Column 'HibernateLazyInitializer' does not belong with this table.
。 但是這個錯誤只會偶爾出現,並且在列表中使用某種代理類時。所以我認爲它對NHibernate的延遲有一些幫助。NHibernate LazyLoading
protected new void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
_jqAutoComplete.DataSource = Session.CreateCriteria<Domain.Brand>()
.List<Domain.Brand>();
_jqAutoComplete.DataBind();
}
通常惰性加載是一個很酷的功能。只有在這種情況下,它會導致錯誤,因此我不想在整個項目中將其禁用。那麼,在這種情況下,是否有辦法修改CreateCriteria,以便不使用LazyLoading但是EagerLoading? 還是有什麼我失蹤? 如果有一個很好的理解LazyLoading的教程,我也會很高興。
你的意思是哪個「自動完成」功能以及如何使用它?那是'_jqAutoComplete'對象?您是否使用http://www.trirand.net/的jqGrid的商業版本? – Oleg 2011-03-15 18:39:16
是的。我使用了名爲'Trirand.Web.UI.WebControls.JQAutoComplete'的類的商業版本。 – Towa 2011-03-15 19:11:14
您是否試圖在[trirand.net論壇](http://www.trirand.net/forum/)中發佈該問題? – Oleg 2011-03-15 19:21:14