Esta página contém perguntas frequentes e suas respostas correspondentes.
Dica
Se você não conseguir encontrar uma resposta para seu problema nesta página, consulte a página Problemas e ajuda para ver as próximas etapas e mais recursos.
Qual é a diferença entre o driver .NET/C# e o provedor do EF Core?
O MongoDB .NET/C# Driver é uma biblioteca que expõe a funcionalidade do MongoDB diretamente e inclui um provedor LINQ com projeções, operações de grupo e mapeamento flexível. O driver inclui recursos como os seguintes:
Transações
Operações em massa
Queries LINQ
Operações que modificam diretamente o banco de dados de dados
Operações de agregação
Mapeamento personalizado
O fornecedor EF Core permite que você use o Entity Framework Core da Microsoft com o MongoDB em seus aplicativos .NET/C#. O provedor do EF Core oferece suporte ao rastreamento de alterações, operações LINQ baseadas em entidade e modelagem familiares aos usuários do Entity Framework Core. O fornecedor inclui funcionalidades como as seguintes:
Rastreamento inteligente de objeto
Operações LINQ baseadas em entidade
Modelagem e mapeamento do Entity Framework com a API fluente
Atualizações automáticas do banco de dados de dados por meio do acompanhamento de alterações
Como posso gerenciar índices com o provedor de EF Core?
Você pode criar índices com o provedor do EF Core chamando o método HasIndex()
no método OnModelCreating()
da sua classe DbContext
. Para saber mais sobre como criar índices com o EF Core Provider, consulte o guia Índices.
Como o EF Core Provider é baseado no Driver .NET/C#, você também pode gerenciar índices em seu aplicação usando o Driver .NET/C# diretamente. Para usar métodos de driver em seu aplicação EF Core Provider, chame-os no MongoClient
usado para configurar seu DbContext
.
O exemplo a seguir cria índices na coleção movies
usando os métodos do driver .NET/C#:
using MongoDB.Driver; var client = new MongoClient("<connection string>"); var database = client.GetDatabase("sample_mflix"); await CreateIndexesAsync(database); async Task CreateIndexesAsync(IMongoDatabase database) { var moviesIndex = new CreateIndexModel<Movie>(Builders<Movie>.IndexKeys .Ascending(x => x.Title) .Ascending(x => x.Genres)); await database.GetCollection<Movie>("movies") .Indexes.CreateOneAsync(moviesIndex); }
Para saber mais sobre como criar índices usando o driver, consulte o guia Índices na documentação do MongoDB .NET/C# Driver.