Ich schreibe ein Generic für LINQ to SQL CUD. I
'Generischer Einsatz
Public Shared Sub Add(Of T As Class)(ByVal entity As T)
Using db As New APIUDataContext()
db.GetTable(Of T)().InsertOnSubmit(entity)
db.SubmitChanges()
End Using
Der Genric Insert funktioniert gut.
Generisches Update
Public Shared Sub Update(Of T As Class)(ByVal oldEntity As T, ByVal newEntity As T)
Dim db As New DemoDataContext()
db.GetTable(Of T)().Attach(newEntity, oldEntity)
db.SubmitChanges()
End Sub
Generisches Update verwenden
Dim oldEntity As New TestAuthor
oldEntity.Id = 4
oldEntity.FirstName = "James"
Dim newEntity As New TestAuthor
newEntity.FirstName = TextBox1.Text
newEntity.LastName = TextBox2.Text
GenericCUD.Update(oldEntity, newEntity)
Fehlermeldung von Generic Update.
Wert des Mitglieds 'Id' eines Objekts des Typs 'TestAuthor' geändert. Ein Element, das die Identität des Objekts definiert, kann nicht geändert werden. Fügen Sie ein neues Objekt mit einer neuen Identität hinzu und löschen Sie stattdessen das vorhandene Objekt.
Was muss ich tun, um das Generic Update zu ändern? Ich danke Ihnen.