Позвольте мне объяснить весь контекст:
Я использую ASP.NET MVC 2, EF4 (POCO).
Я пытаюсь создать универсальный репозиторий для моего приложения.
У меня проблема с обновлением отношения многие ко многим .
У меня есть элемент, который связан с другими таблицей "многие ко многим",В представлении пользователь выбирает нужные категории и отправляет только выбранные идентификаторы в контроллер.
Затем контроллер запрашивает репозиторий категорий, добавляя его в основной элемент:
item.Categories.Add(CategoriesRepository.Single(id);
Но, когда я захожу в репозиторий и пытаюсь сохранить, как это:
Entities.ApplyCurrentValues(entity);
Context.SaveChanges();
Но состояние моей сущности Добавлено .
Затем яНе могу сохранить свою сущность: (.
Как мне решить эту проблему?
Спасибо за ваши ответы.
У меня в представлении следующий код:
<%= Html.CheckBoxList("Categories", ((IEnumerable<Categories>)ViewData["Categories"]).ToDictionary(c => c.ID.ToString(), c => c.Name)
, Model.Categories.ToDictionary(c => c.ID.ToString(),c => c.Name )) %>
Где CheckBoxList является HTMLHelper.
Я помещаю идентификаторы в качестве значений в View, потому что я не знаю другого способа поместить и затем получить эту информацию из View.
Как я могу использовать метод ObjectStateManager.ChangeRelationshipState
?
Как это?:
itemRepository.Db.ObjectStateManager.ChangeRelationshipState(item, item.Categories, "Categories", System.Data.EntityState.Modified);
Я пытаюсь таким образом, но он возвращает ошибку.
Помогите! LOL