Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Gravar dados no MongoDB

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.

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.

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();

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();

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();

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.

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();

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();

Para saber mais sobre os métodos discutidos nesta guia, consulte os seguintes links de documentação da API .NET: