问题标签 [nhibernate-3]
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.
c# - NHibernate 获得下一个生日
我有一个表,其中包含 DateTime 类型的生日列。现在我应该用 HQL 选择所有生日在接下来的 10 天或过去 5 天的人。如何使用 NHibernate 3.2 HQL 做到这一点?谢谢。托马斯
nhibernate - Nhibernate 3.1 .Net 4.0 - 从查询列表中获取 Composite-Id
我有一个 MS SQL 数据库,其中包含一个具有复合 ID 的表。
这是我的 xml 配置文件:
我已经创建了我的映射对象:
和
在我的 Main() 中,我尝试列出表中的元素:
我可以看到不是关键的参数。所以我可以看到 Description 和 ManagedData 但我看不到 tm.Configuration :堆栈中的每条记录都设置为 Null。
有什么问题?
我认为这与复合ID规则(?)
感谢你的回复!
queryover - 什么可以用作 NHibernate QueryOver 别名?
到目前为止,我知道局部变量或局部属性可以用作别名
或者
我想知道还有哪些其他选择。比如,外部类的属性是一个有效的选项吗?
静态可以用作别名吗?还有其他声明别名的选项吗?
nhibernate - ISession.SaveOrUpdateCopy() 和 ISession.Merge() 有什么区别?
在 NHibernate 3.1 中,ISession.SaveOrUpdateCopy()
已被标记为已弃用。文档建议Merge()
改用。每个文档如下:
SaveOrUpdateCopy(object obj)
将给定对象的状态复制到具有相同标识符的持久对象上。如果当前没有与会话关联的持久实例,它将被加载。返回持久实例。如果给定的实例未保存或在数据库中不存在,则保存它并将其作为新的持久实例返回。否则,给定实例不会与会话关联。
Merge(object obj)
将给定对象的状态复制到具有相同标识符的持久对象上。如果当前没有与会话关联的持久实例,它将被加载。返回持久实例。如果给定实例未保存,则保存副本并将其作为新的持久实例返回。给定的实例不会与会话关联。如果关联映射为 ,则此操作级联到关联实例
cascade="merge"
。
此方法的语义由 JSR-220 定义。
它们看起来和我几乎一模一样,但肯定会有一些微妙之处。如果是这样,它们是什么?
nhibernate - 在 NH 3.1 中调用 Fetch 会忽略 Skip and Take
我们有一个尝试为分页编写的查询,我们希望使用 Fetch 为一个对象预先加载一个集合,然后返回该对象的分页列表。下面的查询不起作用,因为当我们查看分析器时,它会跳过 Skip 和 Take 设置,只返回对象列表(急切加载):
一切都编译并执行,但是跳过和执行部分被忽略,所有数据都被带回。是否可以将 Fetch 与 Skip 和 Take 结合使用进行分页?
visual-studio-2010 - 如何使用 VisualStudio 10 调试器检查底层 nHibernate (3.1) 标准文本
在 Windows 下,我的代码类似于以下内容:
我发现如果我在此行之后中断调试器并键入
?active_ids.criteria,则会显示以下内容:
和
我发现如果我在此行之后中断调试器并键入
?namematch.criteria,则会显示以下内容:
但是,当我有一个非常复杂的查询时,类似于:
但是,当我输入?matchQuery
'NHibernate...' 不包含'criteria' 的定义,并且没有扩展方法'criteria' 接受类型的第一个参数... 可以找到(您是否缺少 using 指令或程序集引用?)
那么,使用 Visual Studio 调试器,我如何列出 nHibernate 为 matchQuery 生成的完整条件
c# - 带有左自连接的 NHibernate QueryOver
我有一个职位表,其中一个职位可以有一个相关的职位(但不一定),每个职位都有一个最后修改日期。然后我想获取在两个给定日期之间修改的所有位置(给定类型)(即“主要”位置或相关位置被修改)。在 SQL 中,我会这样做:
现在我对 NHibernate (3.0) 和 QueryOver 还很陌生,我在将这个 SQL 查询转换为 C# 代码时遇到了一些问题。我已经阅读了一些示例并尝试查看其他问题,但遗憾的是没有运气。
我最初的尝试是这样的:
但这会引发 KeyNotFoundException(字典中不存在给定的键)。我尝试过尝试JoinQueryOver
,JoinAlias
因为我怀疑它是丢失的其中之一,但我没有设法让它正确。
如果有人能指出我正确的方向(或已经回答的问题),我将不胜感激!
更新:
我尝试使用 linq 编写查询:
这没有引发任何异常,但我没有得到想要的结果(缺少一个案例 p.RelatedShipPosition 为空。
顺便提一下,使用 HQL 可以正常工作,并给出与 SQL 查询相同的结果:
所以问题仍然存在:如何将其转化为使用 QueryOver?
更新 2:
以防万一有人感兴趣,在 MonkeyCoder 的回答的帮助下,我将包括我的最终代码的样子:
c# - NHibernate 3 用冗长的语法指定 sql 数据类型
我正在尝试使用新的 Loquacious API 将具有字符串属性的实体映射到 NHibernate 3 中的varchar列,但我不知道如何指定要使用的类型。我能够使用 NHibernate 2 和 FluentNHibernate 正确映射实体。
NHibernate 2 w/Fluent 映射
NHibernate 3 w/loquacious API
我如何/在哪里指定“AnsiString”(因此在构造 SQL 时,对代码的查询被参数化为“varchar”而不是“nvarchar”)?
我正在使用 Sql Server 2008。
queryover - NHibernate 3 - 如何对 id/numeric/int 执行 LIKE
虽然 SQL Server 非常适合做:
(id 是一个 int),NH 会抱怨,因为它仍然会尝试将比较值作为 int 类型的 SqlParameter 发送到 sql 中:
那么如何使用新的 QueryOver API 来解决这个问题呢?
nhibernate - NHibernate 3.x 的多数据库
我发现了几篇文章如何将 NHibernate 与多个数据库一起使用,例如这篇 http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/
但是所有文章都很老了,NH 3.x 可能有一些新方法吗?我查看了文档但没有发现任何东西,但也许我错过了什么?
有没有人知道比本文中描述的更好的方式(原生 NH3.x 方式)将 NH 3.x 与多个数据库一起使用? http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/
谢谢,亚历山大。