nhibernate相关内容

NHibernate/MySQL 字符串连接

我有一个 nhibernate linq 查询,如下所示: from b in session.Query()其中 b.Uri.Equals(uri) ||b.Uri.Equals("www." + uri) ||string.Concat("www.", b.Uri).Equals(uri)选择 b 这炸了,说不支持 Concat,但是当我将其更改为 from b in session ..
发布时间:2022-01-02 16:17:18 C#/.NET

创建动态包含子查询的 Linq 表达式

我最近偶然发现了在运行时动态创建 Linq 表达式的问题.我发现的大多数示例都处理相当简单的任务,即仅将给定数据库实体的一个属性与单个参数进行比较.像这样: Session.Query.Where(m => m.Name.Contains("test")) 这也可以通过更通用的方法来实现: var item = Expression.Parameter(typeof (MyClass), ..
发布时间:2022-01-02 16:17:07 C#/.NET

实现 NHibernate 嵌套事务行为

我正在尝试使用 NHibernate 的事务控制和 FlushMode 选项来实现某种嵌套的事务行为,但是在阅读过多之后事情变得有点混乱,因此对我在下面列出的事实的任何确认都将非常有用. 我想要的是打开一个分成小交易的大交易.想象一下以下场景: TX1 打开一个 TX 并插入一个 Person 的记录; TX2 打开一个 TX 并将此人的名字更新为 P2; TX2 提交; TX3 ..

Microsoft Sync Framework 与 Nhibernate TooManyRowsAffectedexception 发生冲突

我们正在尝试将 Microsoft Sync Framework 实施到我们的应用程序中,该应用程序使用 NHibernate 保留其域. 我们遇到的一个问题是,在 Sync Framework 更改了您的初始数据库结构(添加影子表和触发器)之后,NHibernate 似乎会在您尝试将对象插入数据库时​​抛出 tomanyrowsaffectedexception 感到不安. 我发现这 ..
发布时间:2022-01-02 16:16:43 C#/.NET

您是否会将 NHibernate 用于具有遗留数据库的项目,这在一定程度上是您无法控制的?

对我来说,目前的答案是:不,我会使用 iBatis,因为当数据库模型和对象模型不同步时,NHibernate 是一种痛苦.如果我不能完全控制数据库,我最终会做很多工作. 我为什么要问? 好吧,首先:我从未使用过 NHibernate.我只是从表面上知道.我已经阅读了 iBatis 对遗留数据库的优势. 第二:最近我和一个使用 Hibernate 的人进行了讨论(jep,在 Hib ..
发布时间:2022-01-02 16:16:34 其他开发

NHibernate 在二次更新中设置外键,而不是在初始插入时违反键列上的 Not-Null 约束

我对什么应该是相当简单的(我认为)NHibernate 用例有疑问. 我有一个像这样的经典父实体和子实体: 公共类父级{公共虚拟 int ParentId { 获取;放;}公共虚拟字符串名称 { 获取;放;}公共虚拟 IList孩子{得到;放;}}公开课儿童{公共虚拟 int ChildId { 获取;放;}公共虚拟父父{获取;放;}公共虚拟字符串名称 { 获取;放;}} 和映射如下: ..
发布时间:2022-01-02 16:16:26 其他开发

NHibernate - 执行 SQL 来填充 DTO

我有一些报告实例,其中执行 sprocs 比复杂的 QueryOver 语句更容易和简单. 我有一个 DTO,而不是实体,它表示从查询返回的数据,并希望将查询结果填充到 DTO 中.我正在使用命名查询和 session.GetNamedQuery() 来执行查询. 我是否必须为 DTO 创建映射文件? 如果是这样,是否可以让 NHibernate/FluentNHibernate 知 ..
发布时间:2022-01-02 16:16:18 其他开发

内或右外在多对多集合中加入 Nhibernate 和 Fluent Nhibernate

如何强制 NHibernate 在多对多集合上执行右外连接或内连接而不是左外连接? 我想要这样做的原因是因为过滤应用于集合元素.使用左连接,您将获得与未过滤查询返回的行数相同的行数,但过滤掉的元素只显示所有字段的 NULL.但是,使用右联接,将从查询中返回正确数量的行和元素. 我希望可以在集合映射中的某处指定连接.. 解决方案 我认为在集合映射中指定右联接或内联接是不可能的.f ..
发布时间:2022-01-02 16:16:09 其他开发

NHibernate:被删除的对象会被级联重新保存.替换对象并删除旧对象

我正在尝试替换 ProgramItem 上的 TimeBlock 对象,然后删除旧的 TimeBlock 对象.是删除部分给我带来了问题.我在删除旧的 TimeBlock 对象时遇到了一些“相对"简单的 nHibernate 问题. 例外: 删除的对象将通过级联重新保存(从关联中删除删除的对象)[*.Model.TimeBlock#15] 15 是 oldTimeBlock 的 ID ..
发布时间:2022-01-02 16:16:00 C#/.NET

你如何映射一个实体 ->使用 Fluent NHibernate 的接口关系?

给定以下类定义: 公共类订单{公共 IProduct 产品 {get;set;}} 我有这个(流畅的)映射 References(x=>x.Product, "ProductId"); 并得到这个异常:Orders 表中的关联引用了一个未映射的类,这是有道理的,因为它不知道我将传递给它什么实现. 我明白为什么我必须在映射中定义类型(IProduct 可以是任何东西),但我不知道如何去 ..
发布时间:2022-01-02 16:15:43 其他开发

NHibernate 无法将 MySQL 日期/时间值转换为 System.DateTime

我收到“无法将 MySQL 日期/时间值转换为 System.DateTime"错误,因为据我所知,我有 0000-00-00 00:00:00 的记录.现在,虽然数据永远不应该是这样(它应该为空),但在某些情况下可能会发生这种情况,我不希望我的整个应用程序因此而崩溃.我正在使用 NHibernate,我尝试添加更改我的连接字符串以允许零日期时间,因此连接字符串配置如下所示: 服务器=本地主机; ..
发布时间:2022-01-02 16:15:23 C#/.NET

NHibernate 3.0 将小数四舍五入到小数点后 5 位 - 为什么?

全部, 我们使用 NHiberate 2.1 来存储十进制值(汇率),例如123.1234567 到 7 个小数位 我们使用默认映射样式映射类型: 但是当我们升级到 NHibernate 3.0 时,上面的值被保存为 123.1234500. 它没有在 3.0 发行说明中指定这种行为变化,尽管它似乎在问题 [NH-1594] 中详细说明了十进制的默认值是 DECIMAL(1 ..
发布时间:2022-01-02 16:15:14 其他开发

NHibernate 批量插入或更新

您好,我正在处理一个项目,我们需要每天处理多个 xml 文件,并使用这些文件中包含的信息填充数据库. 每个文件大约1Mb,包含大约1000条记录;我们通常需要处理 12 到 25 个这些文件.我已经看到了一些关于使用 NHibernate 进行批量插入的信息,但我们的问题在某种程度上更棘手,因为 xml 文件包含与更新记录混合的新记录. 在 xml 中有一个标志告诉我们特定记录是新记录 ..
发布时间:2022-01-02 16:15:05 C#/.NET

具有类自动生成功能的 .NET ORM 解决方案:Subsonic、Castle AR,...?

我曾经使用自定义数据映射库,现在我正在尝试切换到更广泛的 ORM 解决方案. 经过一些实验,我将我的要求细化为以下内容: 能够从数据库模式生成可用的类(SQL Server 支持就足够了), 支持 ActiveRecord 模式, 以编程方式可配置(通过代码或属性,无 HBM 文件), 免费. 你能推荐一个吗? 到目前为止我已经尝试过: 亚音速 3.0 我 ..
发布时间:2022-01-02 16:14:56 C#/.NET

流畅的NHibernate问题

假设您有两个表,“Users"和“UserRoles".这两个表的结构如下(表 - 列): 用户 - 用户 ID(整数) UserRoles - 用户 ID(整数)、角色(字符串) 我想要的是我的域中的“用户"类具有角色 IList.我如何构建我的 Fluent NHibernate 映射来实现这一点? 解决方案 您要找的是一组元素,在标准 hbm 映射中是: ..
发布时间:2022-01-02 16:14:45 其他开发

NHibernate 可以持久保存到平面文件而不是数据库吗?

这是一个好奇的问题.我有一个应用程序必须同时支持平面文件和数据库作为保存数据的地方.我在想也许使用 .csv 或制表符分隔的文件集作为输入... 是否可以使用 NHibernate 编写来完成两个持久化任务? 解决方案 尝试使用 Jet 引擎(参见 这个) 方言和其他 nhibernate 设置应该是 Microsoft Access 的设置..> ..
发布时间:2022-01-02 16:14:36 其他开发

NHibernate 中的逆和级联是什么意思

我正在学习 Fluent Nhibernate,我的问题是: Inverse 是什么意思?我读到这意味着关系的另一方负责保存,Cascade也是如此, 有人可以解释一下它们之间有什么区别吗?请详细解释,因为我是NH的新手. 解决方案 当 Inverse = false 是必要时,我找到了一个解释.如果我想要一个带有“孩子"集合的父对象,并且在子对象中不会有对父级的引用. 所以你在 ..
发布时间:2022-01-02 16:14:27 其他开发