【问题标题】:Using NHibernate, how can I retrieve a list of composite-element objects given a parent's ID?使用 NHibernate,如何检索给定父 ID 的复合元素对象列表?
【发布时间】:2011-06-16 01:54:33
【问题描述】:

我认为这是一个基本问题,但似乎找不到答案。使用 NHibernate,给定一个具有一对多复合元素的映射:

<class name="Event">
  <id name="Id">
    <generator class="guid" />
  </id>
  <set name="Items">
    <key column="EventId" />
    <composite-element class="EventItem">
        <property name="SomeProperty">
    </composite-element>
  </set>
 </class>

如果给定父 ID,我如何才能返回仅包含子项的 IList?我很想在 HQL 和标准中看到一个例子。我微弱而失败的尝试:

session.CreateQuery("FROM Event.Items WHERE Event.Id = :id")
   .SetParameter("id", eventId)
   .List<EventItem>();

【问题讨论】:

    标签: c# nhibernate hql criteria criteria-api


    【解决方案1】:

    看了几个小时,自然一贴出来就找到答案了。

    session.CreateQuery("SELECT elements(e.Items) FROM Event e WHERE e.Id = :id")
       .SetParameter("id", eventId)
       .List<EventItem>();
    

    【讨论】:

    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2021-11-06
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多