我对NHibernate来说是一个陌生的人,我似乎无法通过使用条件查询来解决这个问题:查询多对多关系或查询集合中的集合(集合/包)实体。我已经在互联网上搜索并检查了我们拥有的所有NHibernate图书,但是找不到“挑战”的具体答案。

我已经简化了示例,试图解决该问题。我有一个带书的表,一个带类别的表和一个具有每本书类别的多对多表。以下是一些技术性知识:

数据结构: 通用标签

C#类: 通用标签

NHibernate映射: 通用标签

我的问题:是否可以通过查询(使用ICriteria和/或分离的条件)数据库的方式来获取属于我指定类别之一的图书(例如,在catA或catB中,也为“和”)?我想在查询中而不是在C#中对此进行优化(因为我需要从数据库中读取所有书籍,然后才能根据其标签集合过滤对象)。如果我要手工编写SQL,则会产生如下内容: 通用标签

由于我没有tableCategoriesPerBook的实体,因此看不到使用条件查询访问该表的方法。而且我宁愿不使用以下方式添加一些手写的SQL表达式: 通用标签

最后一个重要因素:我正在使用棕地数据库,因此无法更改结构!这是我必须在数据库方面使用的方法。

有帮助吗?

解决方案

这很简单。您可以使用独立条件。 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top