任何人都可以指出我正朝这个问题走向正确的方向。基本上我有很多关系,当我调用SaveChanges()时,连接表永远不会被填充。 ReferenceData是生成的POCO,referenceDataSets是List。基本上这些数据是通过USB Key传输的。 context是目标数据库的DBContext。
foreach (ReferenceData refSet in referenceDataSets)
{
// check if the reference data set already exists
ReferenceData existing = context.ReferenceDatas
.Include("ReferenceDataValues")
.Where(o => o.Name == refSet.Name)
.SingleOrDefault();
// if reference data set already exists
if (existing != null)
{
while (existing.ReferenceDataValues.Count > 0)
{
context.ReferenceDataValues.DeleteObject(existing.ReferenceDataValues[0]);
}
while (refSet.ReferenceDataValues.Count > 0)
{
existing.ReferenceDataValues.Add(refSet.ReferenceDataValues[0]);
}
context.ReferenceDatas.ApplyChanges(existing);
}
else
{
//if this reference dataset doesnt exist
//issue exists here as many to many does not get populated.
context.ReferenceDatas.AddObject(refSet);
}
}
context.SaveChanges();
任何帮助非常感谢。 杰