对于一个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