I principiantes al marco de la entidad, así que por favor tengan paciencia conmigo ...La relación entre los dos objetos no se puede definir porque están unidos a diferentes ObjectContext objetos MVC 2
¿Cómo puedo relacionar dos objetos de diferentes contextos ¿juntos?
El siguiente ejemplo tiros la siguiente excepción:
System.InvalidOperationException: La relación entre los dos objetos no se puede definir porque están unidos a diferentes objetos ObjectContext.
[OwnerOnly]
[HttpPost]
[ValidateInput(false)]
public ActionResult Create(BlogEntryModel model)
{
if (!ModelState.IsValid)
return View(model);
var entry = new BlogEntry
{
Title = model.Title,
Content = model.Content,
ModifiedDate = DateTime.Now,
PublishedDate = DateTime.Now,
User = _userRepository.GetBlogOwner()
};
_blogEntryRepository.AddBlogEntry(entry);
AddTagsToEntry(model.Tags, entry);
_blogEntryRepository.SaveChange();
return RedirectToAction("Entry", new { Id = entry.Id });
}
private void AddTagsToEntry(string tagsString, BlogEntry entry)
{
entry.Tags.Clear();
var tags = String.IsNullOrEmpty(tagsString)
? null
: _tagRepository.FindTagsByNames(PresentationUtils.ParseTagsString(tagsString));
if (tags != null)
tags.ToList().ForEach(tag => entry.Tags.Add(tag));
}
He leído un montón de mensajes sobre esta excepción, pero ninguno me dio una respuesta de trabajo ...
adición a @ respuesta de Slauma: No se puede relacionar objetos adjuntos a diferentes contextos. La única forma es separar un objeto del primer contexto y adjuntarlo al segundo. Es mucho más complejo que simplemente compartir el contexto entre repositorios. –