NHibernate - 按内部集合中两项的条件获取类
我有一个类(Invoice)和一个集合(InvoiceRows)。
类 -
public class Invoice
{
public string ID {get; set;}
public List<InvoiceRow> InvoiceRows {get; set;}
}
public class InvoiceRow
{
public string ID { get; set;}
public string InvoiceID { get; set;}
public int RowNumber { get; set;}
}
映射 -
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Domain.BusinessClasses.Invoice" table="Invoices" lazy="false">
<id name="ID">
<column name="ID"/>
<generator class="assigned"/>
</id>
<bag name="InvoiceRows" lazy="false" cascade="save-update" inverse="true" order-by="InvoiceRowNumber">
<key column="InvoiceID"/>
<one-to-many class="Domain.BusinessClasses.InvoiceRow" />
</bag>
</class>
<class name="Domain.BusinessClasses.InvoiceRow" table="InvoiceRows" lazy="false">
<id name="ID">
<column name="ID"/>
<generator class="assigned"/>
</id>
<property name="InvoiceID">
<column name="InvoiceID"/>
</property>
<property name="RowNumber">
<column name="RowNumber"/>
</property>
</class>
我想要获取具有 RowNumber = 1 和 RowNumber = 2 的 InvoiceRow 的所有 Invoice 对象。最好使用 ICriterion API。
I have a class (Invoice) with a collection (InvoiceRows).
Classes -
public class Invoice
{
public string ID {get; set;}
public List<InvoiceRow> InvoiceRows {get; set;}
}
public class InvoiceRow
{
public string ID { get; set;}
public string InvoiceID { get; set;}
public int RowNumber { get; set;}
}
Mappings -
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Domain.BusinessClasses.Invoice" table="Invoices" lazy="false">
<id name="ID">
<column name="ID"/>
<generator class="assigned"/>
</id>
<bag name="InvoiceRows" lazy="false" cascade="save-update" inverse="true" order-by="InvoiceRowNumber">
<key column="InvoiceID"/>
<one-to-many class="Domain.BusinessClasses.InvoiceRow" />
</bag>
</class>
<class name="Domain.BusinessClasses.InvoiceRow" table="InvoiceRows" lazy="false">
<id name="ID">
<column name="ID"/>
<generator class="assigned"/>
</id>
<property name="InvoiceID">
<column name="InvoiceID"/>
</property>
<property name="RowNumber">
<column name="RowNumber"/>
</property>
</class>
I want to get all the Invoice objects that have an InvoiceRow with RowNumber = 1 and RowNumber = 2. Preferably with ICriterion API.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我设法根据 Genius 答案找到答案。
I managed to find the answer based on Genius answer.
应该看起来像这样(未检查!):
也许这段代码可以优化,但想法就是这样。
should look like this (not checked!):
may be this code can be optimized, but idea is such.