こんにちは、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;
}
クライアント オブジェクトには評価が添付されており、クライアント参照 ID には既に正しい ID が設定されています
。評価のコレクション (AddObject、Attach) を反復処理するときにさまざまな解決策を試しましたが、コンテキストが不平を言うたびに、それは既に添付されています。
助けてください
とても有難い
アンドリュー