Como salvar entidades de relacionamento filho no Entity Framework
Eu tenho um projeto do Entity Framework v1. Eu tenho duas entidades (funções e permissões), que têm um relacionamento muitos-para-muitos. Eu passo um objeto para ser salvo (por meio de uma chamada WCF, não o crio a partir de um contexto), que possui novas entradas no relacionamento muitos para muitos.
Eu uso "context.ApplyPropertyChanges" para atualizar o registro com as novas propriedades. Eu sei que isso não atualiza os relacionamentos. Eu tento fazer umaChildCollection.Adicionar, acrescentar(relatedObject); ouChildCollection.Anexar(relatedObject)
Quando uso o método "Adicionar", recebo o erro de que: O objeto não pode ser adicionado ao ObjectStateManager porque ele já possui uma EntityKey. Use ObjectContext.Attach para anexar um objeto que tenha uma chave existente.
Quando uso o método "Attach", recebo o erro de que: O objeto não pode ser adicionado ao ObjectStateManager porque ele já possui uma EntityKey. Use ObjectContext.Attach para anexar um objeto que tenha uma chave existente.
Estou ficando bastante frustrado e acho que consigo ouvir o Entity Framework rindo de mim.
Alguém sabe como eu posso resolver isso?
MyRole x = context.Roles.FirstOrDefault(a => a.RoleId == this.RoleId);
context.ApplyPropertyChanges("Roles", this);
foreach (MyPermission p in this.Permissions)
{
x.Permissions.Add(p);
// ^ or v
x.Permissions.Attach(p);
}
context.SaveChanges();
Obrigado.