【发布时间】:2013-07-05 14:40:11
【问题描述】:
使用 RIA 服务和 EF5 从数据库生成的 EF 模型。
我有一个 Parent 对象,我们称它为 Class A。 A 类具有 B 类的集合。 ClassB 有一个 ClassC 的实例。
因此,在我看来,用户输入了一些数据,默认工作流程将为他们生成大量 ClassB。但是,他们希望能够选择他们将实际创建的那些。
因此,我创建了一个包装器,其中包含新的 ClassB 项目,并委托实际操作将 ClassB 添加到 Class A 的集合中。
因此,如果 A 类的默认设置是 2ClassB,但我取消选择第一个,然后执行所需的操作并保存我的更改,我注意到我的 A 类的 ClassB 集合正确地只包含一个 ClassB,但是当我调用上下文中的 SaveChanges 两个日记项都被保存。
我意识到,当我将 ClassC 添加到 ClassB 时,ClassB 会自动添加到 ClassB 的 Class Cs 集合中。
所以当我在上下文中调用 savechanges 时,虽然我只将一个 ClassB 添加到 ClassA,但两者都被保存,因为它们已被添加到 ClassC
由于 ClassC 仅映射到本质上是一个查找表,因此我们无需对其进行编辑或保存更改,而且我们还没有为它实现任何 CRUD 功能。
虽然我们为 ClassA 提供了包含 ClassB 的元数据类,并且为 ClassB 提供了包含 ClassC 的元数据,但没有用于 Class C 的元数据类。
有什么办法可以解决这个问题吗?
【问题讨论】:
标签: c# entity-framework silverlight ria