【问题标题】:Many-To-One relationships in NHibernateNHibernate 中的多对一关系
【发布时间】:2009-11-20 22:44:44
【问题描述】:

我仍在努力学习 NHibernate 最佳实践,所以请放轻松... :-)

我有一个 Product 类,它与 Category 类建立了多对一关系。在我的添加产品页面上,我正在加载一个带有类别的下拉列表。现在,当用户输入产品信息并单击提交时,我必须从数据库中按 ID 下拉类别 (DropDownList SelectedValue) 以填充我的产品对象的类别属性,以便我可以保存它。

似乎按 ID 查找类别是一种浪费。有没有办法可以简单地使用从 DropDownList 检索到的 ID 值?

感谢您的建议!

【问题讨论】:

    标签: asp.net nhibernate


    【解决方案1】:

    使用 ISession.Load() 创建代理对象。例如:

    myProduct.Category = session.Load<Category>(userSuppliedCategoryId);
    

    请注意,除非您尝试访问主键以外的属性,否则 Load() 方法实际上不会命中数据库,因此不会有额外的数据库命中。

    Ayende has a good post about this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多