Grundlegende speichernBasic Save

Informationen Sie zum Hinzufügen, ändern und Entfernen von Daten mit Ihrem Kontext und Entität Klassen.Learn how to add, modify, and remove data using your context and entity classes.

Tipp

Sie können anzeigen, dass dieser Artikel Beispiel auf GitHub.You can view this article's sample on GitHub.

Hinzufügen von DatenAdding Data

Verwenden der DbSet.Add Methode, um neue Instanzen der Entitätsklassen hinzuzufügen.Use the DbSet.Add method to add new instances of your entity classes. Die Daten werden in der Datenbank eingefügt werden, wenn Sie aufrufen SaveChanges.The data will be inserted in the database when you call SaveChanges.

using (var context = new BloggingContext())
{
    var blog = new Blog { Url = "http://sample.com" };
    context.Blogs.Add(blog);
    context.SaveChanges();

    Console.WriteLine(blog.BlogId + ": " +  blog.Url);
}

Aktualisieren von DatenUpdating Data

EF erkennt automatisch Änderungen an einer vorhandenen Entität, die vom Kontext nachverfolgt wird.EF will automatically detect changes made to an existing entity that is tracked by the context. Dies schließt Entitäten, die Sie laden/aus der Datenbank Abfragen und Entitäten, die zuvor hinzugefügt und in der Datenbank gespeichert wurden.This includes entities that you load/query from the database, and entities that were previously added and saved to the database.

Ändern Sie die Werte für Eigenschaften ein, und rufen dann SaveChanges.Simply modify the values assigned to properties and then call SaveChanges.

using (var context = new BloggingContext())
{
    var blog = context.Blogs.First();
    blog.Url = "http://sample.com/blog";
    context.SaveChanges();
}

Löschen von DatenDeleting Data

Verwenden der DbSet.Remove Methode, um Instanzen der Entitätsklassen zu löschen.Use the DbSet.Remove method to delete instances of you entity classes.

Wenn die Entität bereits in der Datenbank vorhanden ist, wird sie während der gelöscht werden SaveChanges.If the entity already exists in the database, it will be deleted during SaveChanges. Wenn die Entität nicht noch in der Datenbank gespeichert wurde (d. h. es wird nachverfolgt, wie hinzugefügt) und wird aus dem Kontext entfernt und nicht mehr eingefügt, wenn SaveChanges aufgerufen wird.If the entity has not yet been saved to the database (i.e. it is tracked as added) then it will be removed from the context and will no longer be inserted when SaveChanges is called.

using (var context = new BloggingContext())
{
    var blog = context.Blogs.First();
    context.Blogs.Remove(blog);
    context.SaveChanges();
}

Mehrere Vorgänge in einer einzelnen SaveChangesMultiple Operations in a single SaveChanges

Sie können mehrere Hinzufügen/Aktualisieren/Entfernen-Vorgänge in einem einzigen Aufruf kombinieren SaveChanges.You can combine multiple Add/Update/Remove operations into a single call to SaveChanges.

Hinweis

Für die meisten Datenbankanbieter SaveChanges ist transaktional.For most database providers, SaveChanges is transactional. Dies bedeutet, dass alle Vorgänge, die entweder erfolgreich oder nicht und die Vorgänge werden nie Links teilweise angewendet.This means all the operations will either succeed or fail and the operations will never be left partially applied.

using (var context = new BloggingContext())
{
    // seeding database
    context.Blogs.Add(new Blog { Url = "http://sample.com/blog" });
    context.Blogs.Add(new Blog { Url = "http://sample.com/another_blog" });
    context.SaveChanges();
}

using (var context = new BloggingContext())
{
    // add
    context.Blogs.Add(new Blog { Url = "http://sample.com/blog_one" });
    context.Blogs.Add(new Blog { Url = "http://sample.com/blog_two" });

    // update
    var firstBlog = context.Blogs.First();
    firstBlog.Url = "";

    // remove
    var lastBlog = context.Blogs.Last();
    context.Blogs.Remove(lastBlog);

    context.SaveChanges();
}