我认为这是一个基本问题,但似乎无法找到答案。使用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>();
答案 0 :(得分:0)
经过几个小时的观察,我发布后很快就找到了答案。
session.CreateQuery("SELECT elements(e.Items) FROM Event e WHERE e.Id = :id")
.SetParameter("id", eventId)
.List<EventItem>();