Это Invoices
класс:
public class Invoices
{
public Guid Id { get; set; }
public Customers Customer { get; set; }
public List<Payments> Payments { get; set; }
public Double Total { get; set; }
public DateTime Date { get; set; }
public Boolean Payed { get; set; }
}
А это Payments
класс:
public class Payments
{
public Guid Id { get; set; }
public Products Product { get; set; }
public Int32 Quantity { get; set; }
}
Когда я пытаюсь добавить Счета
Invoices addInvoice = new Invoices(customer, payments, total, date, payed);
Context.Invoices.Add(addInvoice);
Context.SaveChanges();
Я получаю это сообщение:
Но я не пытаюсь добавить товар.Это потому, что у меня есть список Payments
с продуктом для каждого платежа?Как я могу решить эту проблему?
Спасибо всем, кто ответит на этот вопрос.
Обновление : я обнаружил, почему EF пытается добавить продукты снова.
Я изменил эту строку
pagamenti.Add(new Payments(new Products(idProduct, nameOfProduct, price)));
на эту:
Products product = Context.Products.Where((p) => p.Id == idProdotto).First();
pagamenti.Add(new Payments(product, quantita));
И теперь она работает правильно