【发布时间】:2023-03-21 20:17:01
【问题描述】:
我目前正在尝试获取一组客户的订单列表并找到每个客户的最后一个订单,检查该订单上的项目并将其与 NHibernate 中的字符串列表进行比较。但是我由于我使用的是 NHibernate 1.2(我无法升级它),我完全不知道如何才能让客户找到他们的最后订单日期。所以我无法访问新版本中的 LINQ 功能。
如果有人能指出我正确的方向,那就太棒了,到目前为止,我有这个。
IList<Order> people = new List<Order>();
ICriteria criteria = CoreHttpModule.Session.CreateCriteria(typeof(Order));
string[] instrumentList = { "Item1", "Item2", "Item3" };
public void CleanList()
{
criteria.CreateAlias("Customer", "customer", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
criteria.CreateAlias("Purchaser", "purchaser", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
criteria.CreateAlias("Agent", "agent", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
}
【问题讨论】:
-
您可以先给我们一些例子,说明
Order、Customer、Purchasers、Agent对象是如何连接的。我什至没有看到你所说的Customers 集。只有一个instrumentList -
抱歉,这个工作原理基本上是 Order 是一个完整的订单信息表,其中包含有关它的完整信息,其他三个通过 customer_id 连接到它
-
通常您首先编写所需的 SQL 查询,然后将其转换为 NHibernate。条件查询几乎 1:1 映射到 SQL 查询。
标签: c# sql nhibernate