tôi mới bắt đầu để khuôn khổ tổ chức nào, vì vậy hãy chịu với tôi ...Mối quan hệ giữa hai đối tượng không thể được định nghĩa bởi vì chúng được gắn vào ObjectContext khác nhau đối tượng MVC 2
Làm thế nào tôi có thể liên hệ hai đối tượng từ những bối cảnh khác nhau cùng với nhau?
Ví dụ dưới đây ném ngoại lệ sau đây:
System.InvalidOperationException: Mối quan hệ giữa hai đối tượng không thể được định nghĩa bởi vì chúng được gắn liền với đối tượng ObjectContext khác nhau.
[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));
}
Tôi đã đọc rất nhiều bài viết về ngoại lệ này nhưng không ai cho tôi một câu trả lời làm việc ...
bổ sung @ câu trả lời Slauma: Bạn không có thể liên hệ các vật gắn liền đến các ngữ cảnh khác nhau. Cách duy nhất là tách một đối tượng khỏi ngữ cảnh đầu tiên và đính kèm nó vào đối tượng thứ hai. Nó phức tạp hơn nhiều sau đó chỉ đơn giản là chia sẻ bối cảnh giữa các kho lưu trữ. –