У меня есть простая форма, которая вставляет новую категорию с указанным parentID (ServiceID).
и мои родительские отношения с детьми таковы;
Сервис> Категория
Вот мой URL для создания категории на основе ServiceId:
/ Admin / Категории / Создать / 3 => " 3 - идентификатор службы "
и мой метод действий это
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(int? id, Category category)
{
if (ModelState.IsValid)
{
try
{
category.Service = dbService.GetAll().WithServiceId(id.Value).SingleOrDefault();
dbCategory.Add(category);
dbCategory.Save();
return RedirectToRoute("List_Categories", new { ServiceId = id.Value });
}
catch
{
ModelState.AddRuleViolation(category.GetRuleViolations());
}
}
return
View ....
Я использую LinqToSql для действий с БД. В любом случае странная часть начинается здесь.
Когда я сохраняю данные, он вставляет данные в таблицу Service вместо того, чтобы вставлять данные только в таблицу категорий, а данные, которые вставляются в таблицу категорий, имеют новый вставленный ServiceID.
Это проблема с ASP.NET MVC ModelBinder или я делаю ошибку, которую не вижу?
Я использовал LinqToSql в нескольких проектах и никогда не сталкивался с подобной проблемой