Здравейте, тук имаме друг въпрос относно 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), но всеки път, когато контекстът се оплаква, той вече е прикачен
Моля помогнете
Оценявам го
Андрю