#asp.net #.net #asp.net-mvc
#asp.net #.net #asp.net-mvc
Вопрос:
Я вижу это исключение впервые. Это исключение возникает только тогда, когда я впервые добавляю товар в корзину (корзина и заказ успешно добавлены в базу данных), в противном случае все работает нормально. Я считаю, что имеет связь с newOrder.Id
, но это автоинкрементировано. Модели включены в нижнюю часть. Как я могу это исправить?
public void Add(Order order, int userId) { var checkForCart = _cartRepository.CartExist(userId); var menuItem = _menuItemService.GetMenuItemById(order.ItemId); if (checkForCart == null) { Listlt;Ordergt; NewList = new Listlt;Ordergt;(); var newCart = new Cart() { UserId = userId, Created = DateTime.UtcNow, Status = CartEnum.pending, Orders = NewList, }; var newOrder = new Order() { CartId = newCart.Id, ItemId = order.ItemId, ItemImage = menuItem.Image, ItemPrice = menuItem.Price, Quantity = order.Quantity, }; NewList.Add(newOrder); newCart.Orders = NewList; _cartRepository.Create(newCart); _orderRepository.Create(newOrder); } else { var newOrder = new Order() { CartId = checkForCart.Id, ItemId = order.ItemId, ItemImage = menuItem.Image, ItemPrice = menuItem.Price, Quantity = order.Quantity, }; _orderRepository.Create(newOrder); } }
Исключение:
Тележки и заказы:
Orders design:
This is the Cart
model class:
public class Cart { public int Id { get; set; } public int UserId { get; set; } public User User { get; set; } public Listlt;Ordergt; Orders { get; set; } public DateTime Created { get; set; } public CartEnum Status { get; set; } }
This is the Order
model class:
public class Order { public int Id { get; set; } public int CartId { get; set; } public Cart Cart { get; set; } public int ItemId { get; set; } public int Quantity { get; set; } public string ItemImage { get; set; } public double ItemPrice { get; set; } }
I apologize, I found the problem. I forgot the code is executing line by line and I add the following line under newOrder object
_cartRepository.Create(newCart);