通过Criteria API在NHibernate 2.1.1.2中使用join
本文关键字:join Criteria NHibernate 通过 API | 更新日期: 2023-09-27 17:49:30
我是NHibernate的新手。我们在数据库中有两个表AccountDailyInfo和AccountEvent。AccountDailyInfo有一个复合键。accounteevent与AccountDailyInfo的复合键有一个外键关系。因此在实体类中我们有一个
- AccountDailyInfo中被称为AccountEventList的accounteevent列表
-在AccountEvent
中添加AccountDailyInfo类型的属性现在我们要在这两个表上执行连接。我已经能够使用下面的语句生成一个简单的连接。
_ses.CreateCriteria<AccountDailyInfo>().CreateAlias("AccountEventList", "foreignKey", NHibernate.SqlCommand.JoinType.InnerJoin)
.List<AccountDailyInfo>()
但是这里我们不能基于AccountEvent表中的值应用筛选标准。类似地,在一个总体查询中,我们至少在4到5个表上使用join。最后,我们将根据所有不同表中的值过滤出结果。
我请求有人为我提供一个简单和一个复杂的标准查询,关于多个连接将如何工作,以及我们如何将过滤应用到相同的。也可以连接表之间没有映射关系吗?
只需使用您提供的别名对连接进行过滤。这里是外键你可以输入
criteria.Add(Restrictions.Eq("foreignkey.Name", "SomeEventName"));