【发布时间】:2011-12-08 17:52:56
【问题描述】:
假设我有实体 A,它与另一个 A 类型的实体有多对多的关系。所以在实体 A 上,我有 A 的集合。假设我必须根据某些外部服务“更新”这种关系- 我不时收到通知,某些实体的关系已更改,以及当前相关实体的 ID 数组 - 一些关系可能是新的,一些现有的,一些不再存在的......我怎样才能有效地更新我的数据库与英孚? 一些想法:
渴望加载实体及其相关实体,对来自外部服务的 ID 集合执行 foreach,并根据需要删除/添加。但这不是很有效 - 可能需要加载数百个相关实体
-
清除当前关系并插入新的。但是如何?也许通过存储过程执行删除,然后通过“假”对象插入
a.Related.Add(new A { Id = idFromArray })
但这可以在事务中完成吗? (调用存储过程,然后由SaveChanges 完成插入)
或者有第三种方式吗?
谢谢。
【问题讨论】:
标签: sql entity-framework entity-framework-4