Хорошо, вот сценарий. У меня есть 3 таблицы. Один называется aspnet_Users, другой - категории и таблица ссылок - User_Categories. aspnet_Users и Categories имеют первичные ключи (UserId и ID соответственно). Таблица связывания имеет только два столбца: CategoryID и UserId, и для каждого столбца настроены взаимосвязи внешнего ключа, и у меня есть уникальная настройка ключа для двух столбцов в User_Categories. Это устанавливает отношение «многие ко многим» между таблицей aspnet_Users и таблицей категорий. Я создал файл edmx для сущностей из этой настройки базы данных, и все выглядит отлично и работает почти для всех операций.
Что я хочу сделать, это добавить новую категорию из формы (которая работает безупречно сама по себе), а также, в то же время, связать конкретного пользователя с этой вновь представленной категорией. Когда я пытаюсь сделать это, я получаю сообщение об ошибке в строке темы. Вот код, который я использую, чтобы попробовать это (ctx - это объект контекста моих сущностей):
public ActionResult Create(Category category, Guid userId)
{
aspnet_Users user = ctx.aspnet_Users.SingleOrDefault(x => x.UserId == userId);
ctx.Categories.AddObject(category);
user.Categories.Add(category);
ctx.SaveChanges();;
return RedirectToAction("Index");
}
Почему это не работает?