2010-08-11 110 views
1

我有了一个导航属性这样一个分离的实体更新分离实体实例与导航属性。它将ObjectA的实例插入到数据库中,然后将集合中的ClassB实例插入到数据库中。该方法只是:使用延迟加载实体框架4.0

context.ClassA.AddObject(classA); 

但是,我的更新方法不会插入/更新/删除ClassB的实例,当我打电话给它。方法是这样的:

public virtual void Update(List<ClassA> entities, TrialsContext context) 
{ 
    foreach (ClassA entity in entities) 
    { 
     ClassA original = context.ObjectA.First(x => x.Id == entity.Id) 

     if (original != null) 
     { 
     context.ObjectA.ApplyOriginalValues(original); 
     context.ObjectA.ApplyCurrentValues(entity); 
     } 
    } 
} 

是否有任何理由为什么会失败?当我关闭懒惰加载并充分保湿我的实体时,它完美地工作,但是,这是一个性能问题。我有什么选择?

回答

0

必须使用自我跟踪实体来完成目标。