Актуализиране на дъщерни обекти Entity Framework

Здравейте, тук имаме друг въпрос относно Entity Framework и актуализиране на дъщерни обекти.
Сценарият:
Имам обекти, наречени Клиенти, които имат оценки и седмични оценки. Клиентите се създават и записват добре, но оценката (дъщерен обект) не се прикачва и не се добавя към базата данни.

     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;
    }

Обектът на клиента има прикачена оценка и референтният идентификатор на клиента вече е попълнен с правилния идентификатор
Опитах различни решения, когато повтарям колекцията от оценки (AddObject, Attach), но всеки път, когато контекстът се оплаква, той вече е прикачен

Моля помогнете

Оценявам го

Андрю


person amun1000    schedule 17.03.2013    source източник


Отговори (1)


Успях да подредя това чрез създаване на нови оценки и добавянето им към оригиналния елемент. Редактирането на съществуващи оценки беше лесно намерено в списъка с оригинални елементи и актуализирано

Трябваше да разкоментирам client.WeeklyAssessments иclient.Assessments, за да получа обратно попълнени идентификатори за дъщерните обекти

person amun1000    schedule 18.03.2013