Sie sollten die InsertOnSubmit Methode verwenden:
NorthwindDataContext context = new NorthwindDataContext();
context.Products.InsertOnSubmit(new Product(..));
context.SubmitChanges();
Die Add-Methode gibt es auf den EntitySet Mitglieder wird meist verwendet, wenn Kinder Einheiten zu einem Elternteil ein, zum Beispiel das Hinzufügen:
var category = new Category{ Name = "Breveages"};
category.Products.Add(new Product{ Name = "Orange Juice"});
category.Products.Add(new Product{ Name = "Tomato Juice"});
category.Products.Add(new Product{ Name = "Cola"});
//...
context.Categories.InsertOnSubmit(category);
// This will insert the Category and
// the three Products we associated to.
EDIT: Um Update-Vorgänge durchzuführen, müssen Sie nur die Entität abfragen, indem Sie eine Abfrage ausführen oder sie anhängen, zum Beispiel:
var customer = context.Customers.Single(c => c.CustomerID == "ALFKI");
customer.ContactName = "New Contact Name";
context.SubmitChanges();
Die Datacontext verfolgen die Veränderungen ihrer verbundenen Unternehmen, und wenn die SubmitChanges Methode aufgerufen wird, wird es diese Änderung zu erfassen, und eine Update-SQL-Anweisung hinter den Kulissen erzeugen, um den Aktualisierungsvorgang zu tun ...
Vielen Dank . . das funktioniert, aber jetzt wurde mir klar, dass ich keine neue hinzufügen, sondern eine bestehende aktualisieren möchte. .Was ist die Methode zum Aktualisieren eines vorhandenen Datensatzes. – leora
Produkt = context.Products.Single (p => p.ProductID == 1); product.ProductName = "Kindle"; product.UnitPrice = 359,99m; context.SubmitChanges(); – jason
Eine Sache, um die Sie vorsichtig sein müssen, ist das DataContext-Objekt. Achten Sie beim Aktualisieren darauf, dass das Objekt zuerst aus der Datenbank abgerufen und dann mit einem einzelnen DataContext-Objekt aktualisiert wird. Wenn Sie versuchen, ein Objekt eines DataContext an einen anderen DataContext anzuhängen, bricht die Hölle los. – azamsharp