0

嗨在這裏,我們在這裏我們另一個實體框架問題和更新子實體。
該場景:
我有一個名爲客戶的對象,有評估和每週評估。客戶創建並保存正確,但是評估(子實體)不附加並添加到數據庫中。更新子實體實體框架

 public SHAID.DataLayer.Client Save(SHAID.DataLayer.Client client) 
    { 
     System.Data.EntityKey key; 
     object originalItem; 

     using (_shaidEntities = new DataLayer.SHAIDEntities()) 
     { 

      key = _shaidEntities.CreateEntityKey("Clients", client); 

      if (_shaidEntities.TryGetObjectByKey(key, out originalItem)) 
      { 

       foreach (var item in client.Assessments) 
       { 
        if (item.Id == default(int)) 
        { 
         item.Client.Id = client.Id; 

        } 
       } 

       _shaidEntities.ApplyCurrentValues(key.EntitySetName, client); 

       //client.WeeklyAssessments.Load(); 
       //client.Assessments.Load(); 
      } 
      else 
      { 
       _shaidEntities.AddToClients(client); 
      } 

      _shaidEntities.SaveChanges(); 

     } 

     return client; 
    } 

客戶對象貼有評估和客戶參考編號是alreeady用正確的ID
我已經嘗試了不同的解決方案時,我遍歷的評估集合(ADDOBJECT,附加),但每次填充背景抱怨它已經連接

請幫

非常感謝

安德魯

回答

0

通過創建新評估並將它們添加到originalItem中來管理排序。編輯現有評估是簡單的將originalItem列表中找到並更新

只好取消註釋client.WeeklyAssessments andclient.Assessments找回充滿標識對子實體