【发布时间】:2013-03-17 09:55:25
【问题描述】:
嗨,这里是另一个实体框架问题和更新子实体。
场景:
我有对象,称为具有评估和每周评估的客户。客户端创建并保存良好,但评估(子实体)未附加并添加到数据库中。
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)时,我尝试了各种解决方案,但每次上下文抱怨它已经附加了
请帮忙
非常感谢
安德鲁
【问题讨论】:
标签: entity-framework c#-4.0 entity-framework-4 linq-to-entities edmx