在EntityFramework中,如何以多对多关系重新加载实体?

时间:2010-01-12 13:46:40

标签: c# entity-framework .net-3.5 many-to-many objectcontext

首先我正在使用.Net 3.5 SP1。我有几个实体如下: Engineer有很多Appointments Appointment有很多Engineers Timeslot有很多Appointments 我在我的数据访问层中提供功能来撤消/放弃对实体所做的更改。我这样做是通过致电......

ObjectContext.Refresh(RefreshMode.StoreWins, Entity entity);

这适用于实体本身以及Timeslot之类的任意1到多个关系,但不会还原对多对多关系的任何更改。

我如何回归改变多对多的关系,最好是在通用庄园中,因为目前我的DiscardChanges()函数属于基类?

1 个答案:

答案 0 :(得分:2)

这有点令人费解,但这对我来说有助于刷新M2M关系:

myengineer.Appointments.Clear();
context.AcceptAllChanges();
myengineer.Appointments.Load();