问题标签 [nhibernate-cascade]
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.
nhibernate - 强制 NHibernate 在插入之前级联删除
我有一个与子对象具有一对多关系的父ISet
对象。子对象具有唯一约束(PageNum
和ContentID
- 父对象的外键)。
我遇到的问题是,如果我ContentPage
从父集合中删除一个元素,然后在同一个事务中添加一个具有相同唯一键的新元素......你会得到一个唯一约束违规,因为NHibernate尝试在删除。
有没有办法强制 NHibernate 先执行删除?
c# - NHibernate Cascade=保存更新”?
免责声明:我是 NHibernate noobie,所以希望这个问题是有道理的。我有两个类之间的多对多关系,例如......</p>
我在两个类映射中都添加了与包的多对多关系,定义了一个关联表,但不确定要使用哪个级联选项。我希望能够创建一个新的 Entity1 实例,将一个新的 Entity2 实例添加到它的列表中,调用 Save,并将两者都插入到数据库中(反之亦然)。删除实体时,它应该删除与子实体的任何关联,而不是子实体本身。我应该使用 cascade="save-update" 吗?
nhibernate - NHibernate级联保存
这是试图将 null 插入 Comment.BlogArticleID。
出现以下 GenericADOException:“无法插入:[NHibernate__OneToMany.BO.Comment][SQL: INSERT INTO Comment (Name) VALUES (?); select SCOPE_IDENTITY()]”
出现以下内部异常:“无法将值 NULL 插入到列 'BlogArticleID'、表 'Relationships_Test_OneToMany.dbo.Comment';列不允许空值。插入失败。\r\n语句已终止。”
我需要一个单向映射。提供的答案是关于双向映射。
NHibernate 级联保存是否适用于本机 ID 生成器?
数据库表:
BlogArticle{ID, Name},如果是 ID,Identity=true。
Comment{ID, Name, BlogArticleID},如果是 ID,Identity=true。
注释.hbm.xml
博客文章.hbm.xml
主要的
存储库
.net - NHibernate 级联和生成的 guid id - 为什么在保存时不为孩子生成?
我执行以下操作:
User.Cases 上的级联设置为 All。但是@case.Id 在事务提交之前不会设置。这是预期的行为吗?我非常想在提交之前获得 Id。可以做到吗?
nhibernate - NHibernate 多对多关系级联 AllDeleteOrphan StackOverflowException
我有两个对象通过映射表彼此具有多对多关系。虽然,当我尝试保存它时,我得到一个堆栈溢出异常。以下是映射的代码:
当我将 performermapping.cs 更改为 Cascade.None() 时,我摆脱了异常,但是我的事件对象没有我与之关联的执行者。
我应该如何正确地写这个?谢谢
java - 休眠:级联问题
在hibernate中有很多关于set cascade to "all, delete"之类的信息,但是我想知道set cascade to "none"的效果
现在我有一个类 Parent,它是子类 Child,
并在文件 parent.hbm.xml 中(我省略了其他内容)
保存父母时,我不想级联更新他的孩子,所以我设置了cascade="none"
. 我的问题是:我将级联设置为“无”,如果我向父级添加一个子#1,然后我保存父级,休眠可以向表 parenthaschildsTable 插入一条新记录,但不能级联子级?
nhibernate - Nhibernate 不更新 Win Server 2008 上的级联关系
我们使用 NHibernate 和 Fluent 映射来构建 WebForms 应用程序。
在我们的模型中,我们References
与集合有一个简单的关系Cascade.All()
。当我们保存实体时,NH 会按预期运行,并且 1) 保存引用的实体,2) 更新父实体设置子键。
但是,将相同版本部署到我们的生产服务器(Win Server 2008)并将应用程序指向相同的数据库会产生不同的输出。NH 1) 保存引用的实体,然后.. 就这样,没有其他事情发生!
我知道我们的测试和生产环境应该是相同的,等等等等。但是我们现在正在部署,我根本不知道这是怎么发生的。
Win 2008 Server 中的 NH 是否存在关于程序集权限或类似问题的任何已知问题?看起来代理由于某种原因无法正常工作,但我真的不知道为什么!
编辑 1:分析 NH 日志文件我发现 NH 没有注意到 Win Server 2008 中引用的属性发生了变化。为什么?不知道,但它看起来越来越像代理问题。
非常感谢任何帮助。
菲利普
join - Fluent NHibernate 连接引用忽略级联规则
我正在使用 Fluent NHibernate 试图提高使用旧数据库的 Web 应用程序的可测试性和可维护性,但我在正确映射此结构时遇到了一些麻烦:
我有两个表,它们真正代表域中的一个实体,因此我使用连接来映射它们,第三个表代表第二个实体。
数据库表:
实体:
映射:
这适用于我的 Gets,但是当我修改 Account.ReportType.Number 和 SaveOrUpdate() Account 时,我收到错误消息:“DataTest.Model.ReportType 实例的标识符已从 (old_value) 更改为 (new_value)” .
我要做的就是修改 Account 对 ReportType 的引用,我认为通过在 ReportType 的引用上设置 Cascade.None() 属性,NHibernate 也不会尝试保存 ReportType 实例,但我一定是误解了作品。我试过制作 ReportType ReadOnly(),引用 ReportType ReadOnly() 等,但似乎没有任何帮助。
有任何想法吗?
nhibernate - nhibernate(或休眠)条件级联
我有一个用户类,它有一个属性事件,它有很多会话。基本上,用户注册一个有很多会话时间的事件。
用户可以注册一个活动,但会议时间纯粹是提供信息。
但是当我使用 NH 将用户写入数据库时,它也会更新会话时间。我如何防止这种情况发生,因为我知道在创建/更新事件时仍然需要插入/更新会话时间。
asp.net - NHibernate 一对多删除不级联
我有一个“照片”课程和一个“评论”课程。一张照片可以有多个评论分配给它。
我在我的 HBM 映射文件中将此配置为一对多关系,并针对 Photo.hbm.xml 映射文件中的“评论”包设置了 cascade="all-delete-orphan"。
但是,如果我尝试删除具有 1 个或多个相关评论的照片,我会收到“DELETE 语句与 REFERENCE 约束“FK_Comments_Photos”冲突”
我针对 Photo.hbm.xml 中的 Comments 包尝试了其他几个级联选项,但无论我将其设置为什么,我每次都会得到相同的结果。我只想能够删除照片并自动删除任何相关的评论。
这是我的照片映射(为简洁而编辑):
这是我的评论映射(为简洁而编辑):
当我尝试删除带有相关评论的照片时,是否有人对为什么没有发生级联有任何建议?
更新:我可以让级联发生的唯一方法是在 SQL Server 中针对这种与“级联”的关系配置“删除规则”,这样做意味着我不需要在我的 NHibernate 中指定任何级联操作映射。然而,这对我来说并不理想——我希望能够在理想情况下配置 NHibernate 映射中的级联行为,所以我仍然很困惑为什么它似乎没有注意到我的 NHibernate级联设置?