ASP.NET MVC LINQ-2-SQL как модель - как обновить? - PullRequest
0 голосов
/ 12 июля 2010

Можно ли использовать LINQ2SQL в качестве модели MVC и связывать?- Поскольку проблемы L2S с «прикрепленными файлами» действительно быстро решаются.: S

1 Ответ

0 голосов
/ 12 июля 2010

Как выглядит ваш вид сохранения?

Вы не можете просто прикрепить новый элемент к EntitySet таким образом. -> Присоединение требует много проверок, и это очень сложно реализовать. Я сам попробовал и мне совсем не понравилось.

В вашем методе [HttpPost] вам необходимо обновить модель, прежде чем вы сможете сохранить ее:

[HttpPost]
public ActionResult Save(int id, ItemCart edCart) {
    DataContext DB = new DataContext(); // I'm doing this without a using keyword for cleanliness
    var originalCart = DB.Carts.SingleOrDefault(c => c.ID == id); // First you need to get the old database entry

        if (ModelState.IsValid & TryUpdateModel(edCart, "Cart")) { // This is where the magic happens.
            // Save New Instance
            DB.SubmitChanges.

            return RedirectToAction("Details", new { id = originalCart.ID });
        } else {
            // Invalid - redisplay with errors
            return View(edCart);
        }
    }

Он пытается обновить модель из контроллера значений контроллеров, используя префикс «Корзина».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...