Я посмотрел несколько потоков, но я не вижу решения, соответствующего моим целям (по крайней мере, я не понимаю, как я мог бы реализовать его)
У меня есть служба WCF, которая используетLinq to SQL для извлечения, обновления и удаления объектов на моем SQL Server.
Я создал простую реляционную базу данных, которая имеет отношение 1 ко многим между Customer и Order, отношение 1 ко многим между Order и OrderDetails,
теперь в «Моих заказах» есть внешний ключ для CustomerID, а в OrderDetails есть «Foreign kwy для идентификатора заказа».
, однако «OrderDetails» также содержит FK для ProductID в таблице продуктов.
По сути, я сейчас пытаюсь изменить OrderDetails, используя OrderID и добавить другой продукт, используя ProductID.
У меня проблемы с этим, хотя я продолжаю получать ForeignKeyReferenceAlreadyHasValueException
Iнаписал это, что я знаю, совершенно неправильно, но в то время я не знал,(Я совершенно новичок в SQL, Linq для SQL и т. Д.), Что я не могу сделать это.
OrderDetail item = new OrderDetail();
item.OrderID = orderItem.OrderID;
item.ProductID = orderItem.ProductID;
item.ProductQuantity = orderItem.ProductQuantity;
jacksDB.OrderDetails.InsertOnSubmit(item);
jacksDB.SubmitChanges();
Я прочитал, что мне нужно было отобразить сущность или что-то в этом направлении, используя общую строку кода, такуюкак это
var order = jacksDB.Orders.Single(o => o.OrderID == orderItem.OrderID);
var orderDetail = order.OrderDetails.Single(o => o.OrderID == orderItem.OrderID);
orderDetail.ProductID = orderItem.ProductID;
orderDetail.ProductQuantity = orderItem.ProductQuantity;
orderDetail.Discount = orderItem.Discount;
jacksDB.OrderDetails.InsertOnSubmit(orderDetail);
jacksDB.SubmitChanges();
может кто-то показать, и если его не так уж много, попросите немного объяснить, как я могу правильно добавить вставку новой записи OrderDetail в мою таблицу OrderDetails, используя существующий OrderID (FK)чтобы «Редактировать и добавлять / удалять продукт в существующий заказ»
Заранее благодарим за помощь
Джон