Значение состояния объекта не может быть нулевым - PullRequest
0 голосов
/ 09 октября 2018

У меня есть две таблицы заказов и детали заказа, и у меня есть ключ foriegn заказа в деталях заказа.и я вставляю сумму заказа в таблицу заказов и всю другую информацию о заказе в деталях заказа, но я получаю эту ошибку. Пожалуйста, помогите мне и, пожалуйста, скажите мне, как использовать состояние объекта для добавления значений в таблицу внешних ключей.

enter image description here

и вот моя функция контроллера saveorder

[HttpPost]
    public ActionResult SaveOrder(FormCollection fc)
     {
        ResturantContext context = new ResturantContext();
        ShoppingCart myCart = (ShoppingCart)Session[WebUtil.CART];
        User u = (User)Session[WebUtil.USER];
        Order order = new Order();



        order.TotalAmount = myCart.TotalAmount;
        new OrderHandler().AddOrder(order);

        foreach (var m in myCart.Items)
        {
            OrderDetails od = new OrderDetails();
            od.ID = m.Id;
            od.Price =m.Price;
            od.Product_name = m.Name;
            od.Quantity = m.Quantity;
            od.Address = fc["Address"];
            od.City = fc["City"];
            od.DateOfOrder = DateTime.Now;
            od.UserName = u.FullName;
            od.Email = u.Email;

            od.ContactNo = fc["ContactNo"];
            od.Country = fc["Country"];

           new OrderHandler().AddOrderDetails(od);

        }
        Session.Remove(WebUtil.CART);
        return RedirectToAction("Index","Home");
    }

1 Ответ

0 голосов
/ 09 октября 2018

od.Order всегда будет Null, так как вы не устанавливаете его нигде в своем коде.Попробуйте хотя бы установить его как od.Order = order в цикле, прежде чем вызывать ваш OrderHandler().AddOrderDetails(od);

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