【发布时间】:2011-04-06 15:42:07
【问题描述】:
我是 NHibernate 的新手。我们在数据库中有两个表 AccountDailyInfo 和 AccountEvent。 AccountDailyInfo 有一个复合键。 AccountEvent 与 AccountDailyInfo 的复合键有外键关系。因此,在我们的实体类中,我们有一个
-AccountDailyInfo 中 AccountEvent 的 IList 称为 AccountEventList
-AccountEvent 中 AccountDailyInfo 类型的属性
现在我们要对这两个表执行连接。 我已经能够使用以下语句生成一个简单的连接。
_ses.CreateCriteria<AccountDailyInfo>().CreateAlias("AccountEventList", "foreignKey", NHibernate.SqlCommand.JoinType.InnerJoin)
.List<AccountDailyInfo>()
但在这里,我们无法根据 AccountEvent 表中的值应用过滤条件。 同样,在一个整体查询中,我们至少在 4 到 5 个表上使用连接。最后,我们会根据所有不同表中的值过滤掉结果。
我请求某人向我提供一个简单和一个复杂的 Criteria 查询,了解多个连接将如何工作以及我们如何对相同的连接应用过滤。也可以连接它们之间没有映射关系的表吗?
【问题讨论】:
-
如果您可以发布您的 Account 类的结构,我可以提出一个标准查询。或者,您可以查看此链接stackoverflow.com/questions/372047/…
标签: c# nhibernate