Visão geral
O Entity Framework Core permite que você trabalhe com dados em sua aplicação sem executar os reconhecimento de data center explicitamente. Você pode inserir, atualizar ou excluir dados no seu aplicativo e manter essas alterações no MongoDB usando o método SaveChanges() .
Quando você chama o método SaveChanges() , o EF Core Provider detecta automaticamente quaisquer alterações feitas em seus dados e executa os comandos necessários para atualizar o banco de dados de dados usando a MongoDB Query API.
Neste guia, você pode ver exemplos de como executar operações de gravação comuns em um aplicação configurado para usar o EF Core Provider.
Dica
Para saber como configurar um aplicação para usar o fornecedor do EF Core, consulte Configurar o fornecedor do EF Core.
Insert
Você pode usar o método Add() para inserir uma única entidade em sua collection ou pode usar o método AddRange() para inserir várias entidades de uma só vez.
Inserir uma entidade
O método Add() aceita uma única entidade do mesmo tipo que você especificou na instância do DbSet que você está modificando.
O código a seguir usa o método Add() para adicionar um novo objeto Planet ao DbSet chamado Planets. Em seguida, ele chama o método SaveChanges() para inserir essa entidade na MongoDB collection.
db.Planets.Add(new Planet() { name = "Pluto", hasRings = false, orderFromSun = 9 }); db.SaveChanges();
Inserir várias entidades
O método AddRange() aceita uma array de entidades que você deseja adicionar ao DbSet.
O código a seguir usa o método AddRange() para adicionar uma array de objetos Planet ao DbSet chamado Planets. Em seguida, ele chama o método SaveChanges() para inserir essas entidades na collection MongoDB.
var planets = new[] { new Planet() { _id = ObjectId.GenerateNewId(), name = "Pluto", hasRings = false, orderFromSun = 9 }, new Planet() { _id = ObjectId.GenerateNewId(), name = "Scadrial", hasRings = false, orderFromSun = 10 } }; db.Planets.AddRange(planets); db.SaveChanges();
Update
Para atualizar uma entidade, primeiro recupere a entidade que você deseja atualizar. Em seguida, faça as alterações nessa entidade. O fornecedor acompanha todas as alterações feitas na entidade, como definir propriedades ou adicionar e remover itens de campos com valores de lista. Para salvar a atualização para MongoDB, chame o método SaveChanges() . O EF Core Provider compara a entidade atualizada com um snapshot da entidade antes da alteração e atualiza automaticamente a coleção usando a MongoDB Query API.
O código a seguir recupera uma entidade na qual o valor name é "Mercury" e, em seguida, atualiza o campo name . Em seguida, o código chama o método SaveChanges() para persistir essa alteração na collection.
var planet = db.Planets.FirstOrDefault(p => p.name == "Mercury"); planet!.name = "Mercury the first planet"; db.SaveChanges();
Excluir
Você pode utilizar o método Remove() para excluir uma única entidade da sua coleção ou o método RemoveRange() para excluir várias entidades de uma só vez.
Excluir uma entidade
O método Remove() aceita uma única entidade do mesmo tipo que você especificou na instância do DbSet que você está modificando.
O código a seguir remove uma entidade Planet na qual o valor name é "Pluto". Em seguida, ele chama o método SaveChanges() para excluir essa entidade da MongoDB collection.
var planet = db.Planets.FirstOrDefault(p => p.name == "Pluto"); db.Planets.Remove(planet!); db.SaveChanges();
Excluir várias entidades
O método RemoveRange() aceita uma array de entidades para remover do DbSet.
O código a seguir localiza duas entidades Planet e as adiciona a uma array. Em seguida, ele usa o método RemoveRange() para remover ambas as entidades do DbSet. Finalmente, ele usa o método SaveChanges() para remover essas entidades da coleção do MongoDB.
var pluto = db.Planets.FirstOrDefault(p => p.name == "Pluto"); var scadrial = db.Planets.FirstOrDefault(p => p.name == "Scadrial"); var planets = new[] { pluto!, scadrial! }; db.Planets.RemoveRange(planets); db.SaveChanges();
Informações adicionais
Para saber mais sobre os métodos discutidos nesta guia, consulte os seguintes links de documentação da API .NET: