首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nhibernate:从集合中删除对象而不删除它

nhibernate:从集合中删除对象而不删除它
EN

Stack Overflow用户
提问于 2011-09-15 03:09:19
回答 1查看 349关注 0票数 0

假设我们有一个SPACE_SHIP和武器对象。SPACE_SHIP有一个主武器和一个次级武器集合。我想切换主武器和第二武器之一,我该怎么做呢?

如果我这样做了:

  1. mySpaceShip.SecondaryWeapons.Add(mySpaceShip.PrimaryWeapon)
  2. mySpaceShip.PrimaryWeapon = theSecondaryWeaponToSwitch
  3. mySpaceShip.SecondaryWeapons.Remove(theSecondaryWeaponToSwitch)

发生NHibernate错误..。怎么办?

上下文: NHibernate 1.2,C# 3.5

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-15 07:56:08

您很可能用cascade="all-delete-orphan"映射它。这样做时,NH将删除从集合中删除的所有实例。如果您试图在另一个集合中使用该实例,NH会抱怨。

NH不实现“持久垃圾收集”来自动检测引用的实例和未引用的实例。这将对性能产生太大的影响。“删除-孤儿”是一个简化的版本,它在许多简单的情况下工作,但如果你移动实例,它就不能工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7425439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档