Ich habe eine Reihe von untergeordneten Elementen einer Tabelle, die ich löschen und dann die neuen hinzufügen soll.
Mir ist die Leistung egal, weil es eine nicht häufige Operation ist.So entfernen und fügen Sie untergeordnete Elemente in LINQ zu SQL hinzu
Wie muss ich es tun? Ich habe versucht, Order.items.clear()
und Order.Items.Remove(x)
aber beide geben mir Ausnahmen
Vereinfachte Code:
Dim db As New MainDataDataContext
dim o as Order = (From Order In db.Orders Where Order.OrderID = OrderID).FirstOrDefault
''//this will return "An attempt was made to remove a
''//relationship between a Order and a OrderItem.
''//However, one of the relationship's foreign keys
''//(Order.OrderID) cannot be set to null." exception
o.Items.Clear()
''//and this will return "EntitySet was modified during enumeration." exception
For Each oItem As OrderItem In o.Items
o.items.Remove(oItem)
Next
For Each item As ListViewItem In listViewOrderItems.Items
If item.ItemType = ListViewItemType.DataItem Then
Dim oItem As New OrderItem
oItem.OrderID = OrderID
oItem.Product = CType(item.FindControl("txtProduct"), TextBox).Text
oItem.Quantity = CType(item.FindControl("txtQuantity"), TextBox).Text
Order.items.Add(oItem)
End If
Next
db.SubmitChanges()