问题标签 [nhibernate-criteria]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tsql - 需要 NHibernate 查询帮助
是否可以将以下查询转换为 ICriteria 或 LINQ,如果可以,如何转换?
nhibernate - 在类型中的投影NHibernate中的映射?
给定班级:
和映射
有没有办法通过 Linq 或 HQL 投射 VotingResult.Item.GetType()(“从 VotingResult 中选择 r.class”似乎不起作用。我可以使用一些讨厌的技巧,但我需要能够轻松地将引用扁平化为类型和 id - 理想情况下使用 Linq 或 AliasToBeanResultTransformer。
作为记录,DomainEntity 子类的继承映射是 Table Per Class。
谢谢
nhibernate - NHibernate Criteria Queries - 如何在一对一关系中使用
我有简单的 3 个 POCO 课程:
我创建了这些映射类:
然后我用这个方法创建了简单的 NHibernate 存储库类:
对于测试,我为某个实体创建了存储库,例如用户:
我希望有可能以这种方式进行查询:
这次尝试以错误结束:
无法解析属性:配置文件:Repository.User
用户具有 Profile 的属性 Profile 类型,并且该属性具有 ProfileId、Age 和 sex 属性。
** #1 已编辑:**
@我试过这个:
完成错误:
无法解析属性:Profil.Sex 的:Repository.User
#2 已编辑
我尝试使用内森的建议:
如果我尝试将结果转换为列表,我再次收到此错误: 无法解析属性:配置文件:Repository.User
nhibernate - 捕获 NHibernate 生成的 SQL 并在运行前进行修改
是否有可能在不实际运行的情况下获取 nhibernate 在您的代码中创建的 sql?
我有一个通过标准 API 构建的复杂标准对象。这个标准对象构成了各种选择语句的基础。然后,我可以以此为基础,在整个应用程序的不同场景中添加我需要的其他标准。
我现在需要在我的一个 select 语句中添加一个 having 子句,显然这不是使用标准 api 的选项。我可以创建我需要的投影,如果我查看生成的 sql,我需要添加到现有标准底部的是......
如此接近非常令人沮丧,但我似乎无法在生成的 SQL 底部添加一行标记。
我在想,如果我可以提取生成的 SQL,我可以在我需要的 having 子句上添加标签,然后我可以通过 Nhibernate SQLQueryCriteria 提交整个事情。
我知道这并不理想,但这对我来说似乎比使用 HQL 或 SQL 编写的一个查询更好,而其余的查询共享一个共同的标准库。
这是可能的吗?这是个好主意吗?任何替代方案也将受到欢迎。
c# - 跨多个实体查询
我有一个奇怪的要求,我不知道如何解决。
假设以下类定义:
当用户通过名称在系统中搜索客户端时,它需要搜索所有主客户端以及一跳之外的辅助客户端。(即如果设置了 PrimaryClient,那么我们需要检查 PrimaryClient.Person.Name 属性,但是我们不必担心 PrimaryClient.PrimaryClient。)
使用 DetachedCriteria,我有以下内容:
现在显然,这已经很遥远了。做了一些挖掘,我发现我需要设置别名。第一个很容易找到 Person.Surname:
但是,对于我的一生,我不确定我可以为 PrimaryClient.Person 的别名做些什么。我在这里走错路了吗?任何帮助,将不胜感激。
注意:我最初忘了提及。SecondaryClients 和 PrimaryClient 可能为空。
nhibernate - NHibernate Criteria 左反连接/子查询混淆
我会以 NHibernate 远远超出我的舒适区这一事实作为开头,所以这可能比我想象的要简单得多。
我有一个users
表和一个events
映射到user
对象event
的表。
我的event
对象引用了一个单一的user
对象。
我有一个属性,我坚持我的user
对象为LastActivityTimeStamp。
我的event
对象上有与EventType和Success相关的属性。
要确定“在线”用户列表,我需要收集LastActivityTimeStamp大于先前计算cutoff
值的所有用户对象,events
表中的最后一个活动不是成功的“注销”事件类型。
我将如何写这个标准?
nhibernate - 在 NHibernate 中查询超类时从子类左连接返回属性
我有一个ICriteria
从超类返回属性的Animal
。现在我想在结果中包含来自子类的几个属性,Bird
. 对于其他子类,这些属性应该返回null
. 我正在使用每个子类的表继承。有没有办法在不添加大量的情况下做到这一点DetachedCriteria
?NHibernate 已经在子类表上留下了连接;有没有办法从这些连接中投射价值?
更新:我需要能够对子类属性进行排序和过滤,并且整个查询需要支持分页。
这是我的模型:
给定下表:
我想要以下结果集:
nhibernate - 如何针对匹配记录计数包含 nHibernate 标准
背景:
- 我有 Master 和 Detail 表,M 和 D;
- M 包含订单,D 包含各种尺寸(S、M、L、XL)零件的订单详情
- 给定的订单可能包含任意数量的部分。
- 95% 的订单至少包含一件尺寸为 S 的商品
- 新要求是将来可以添加尺寸,因此对 SMLXL 列表进行硬编码不再有效
我正在寻找一个 nHibernate 查询,它返回所有订单 M 的列表,其中仅包含特定大小的部分。
换句话说,返回所有仅包含部分尺寸 S 的订单,并排除所有包含混合尺寸的订单。
我正在使用:
肯定有更好的办法。类似“其中 count(DISTINCT SIZES) = 1”的东西
但我不确定如何在 nHibernate 中实现这一点。
建议?
nhibernate - 比较映射为整数的枚举的 Linq 到 NHibernate 查询成功,但作为等效条件查询失败
我正在查询 ProductRisk,它包含一个 Status 属性,其中 Status 是一个枚举。这是 ProductRisk 的映射:
Status 是一个具有四个可能值的枚举。它在数据库中表示为对查找表的外键引用。在我的存储库中,我想提取状态为Medium
or的 ProductRisk 对象High
。Ling To NHibernate 中的以下查询有效:
但是,如果我在 Criteria API 中使用(我认为是)等效查询:
我收到以下错误:
NHibernate.Criterion.SimpleExpression 中的类型不匹配:状态预期类型 System.Int32,实际类型 FIS.AccountManagement.Core.Domain.RiskStatus
这是为什么?提前感谢您的帮助。
nhibernate - NHibernate 标准加入许多枚举值
我有一个名为的类,在这个类中有一个枚举值User
的集合。UserRole
User
toUserRole
关系是多对多关系,并使用三个表(tblUser、tblRole 和 tblUserRole 仅具有 userId 和 roleId)实现。HBM如下:
现在我想创建一个具有相同语义的标准
是否可以在没有单独的枚举映射文件的情况下实现这样的条件(使用 queryOver 或分离的条件)UserRole
?
提前感谢您的提示。
先生