【发布时间】:2011-06-04 19:24:49
【问题描述】:
示例:加载包含其标签的产品实体不跟踪:
repository.Product
.Include("Tag")
.Where(p => p.ProductID == 1)
.Execute(MergeOption.NoTracking);
注意这是一个多对多的关系;一个产品可以有多个标签,标签可以关联多个产品。
在其他地方,我想保存对产品实体所做的任何更改,但不保存对其相关标签或其与这些标签的关系所做的更改。
意思是,这些更改都不能保存:
- 标签已从产品中移除
- 产品已添加标签
- 标签已被修改(例如名称已更改)
所以我想我可以以某种方式将仅产品附加到新的 ObjectContext 并保存更改。但由于某种原因,我无法弄清楚如何仅将单个实体附加到对象上下文,而不是整个图形。
当然,我可以附加图表,然后手动分离除相关产品之外的所有其他实体,但这是一个糟糕的解决方案,我希望找到另一个解决方案。
【问题讨论】:
标签: c# entity-framework-4 poco