【发布时间】:2012-03-12 00:37:13
【问题描述】:
将子实体从一个父实体移动到另一个父实体的最佳方法是什么? ObjectContext 或 DbContext 中是否有允许我们完成此操作的方法?
public class Person
{
public int PersonId
public ICollection<Car> Cars
}
public class Car
{
public int CarId
public string Color
}
编辑:我目前首先使用带有 POCO 模板的 EF 4.0 模型。
【问题讨论】:
-
很大程度上取决于您如何使用 EF(例如代码优先、模式优先等)...您是否使用 POCO、代理等。如果您使用的是模板生成的实体或代理,您应该能够更改内存中的关系并保存。
-
@JamesGaunt:谢谢詹姆斯,我已经编辑了我的问题。
-
您是否尝试从一个集合中删除并添加到另一个集合?
-
@usr:我还没试过。我只是想从观众那里获得意见,以及最佳实践。
-
如果您将 POCO 与代理一起使用,那么您正确的做法是在内存中编辑集合并保存。如果您不使用代理 - 您可以要求框架手动检测更改 (context.DetectChanges())。
标签: c# entity-framework