Исключение SQLException: Не удается вставить явное значение для столбца идентификаторов в таблицу «Заказы», если значение IDENTITY_INSERT ОТКЛЮЧЕНО

#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:

OrdersDesign

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);