我仍在尝试学习NHibernate的最佳实践,所以请对我很轻松......: - )
我有一个Product类,它具有设置为Category类的多对一关系。在我的Add A Product页面上,我正在使用Categories加载DropDownList。现在,当用户输入产品信息并单击提交时,我必须从数据库中下拉ID(DropDownList SelectedValue)以填充我的Product对象的Category属性,以便我可以保存它。
看起来像ID查找类别是一种浪费。有没有办法可以简单地使用从DropDownList中检索到的ID值?
感谢您的任何建议!
答案 0 :(得分:2)
使用ISession.Load()创建代理对象。例如:
myProduct.Category = session.Load<Category>(userSuppliedCategoryId);
请注意,除非您尝试访问主键以外的属性,否则Load()方法实际上不会访问数据库,因此不会有额外的数据库命中。