image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image

WJ

Wellington Júnior18/09/2024 15:42
Share

Utilizando MongoDb com EntityFramework Core(.NET 8+)

  • #.NET Core
  • #.NET C#
  • #MongoDB

Para utilizarmos o mongoDb em aplicações .NET, até então, utilizávamos o pacote nuget MongoDbDriver e a conexão era estabelecida, e manipulávamos através do MongoClient e das Collections.

Em meados deste ano (2024), foi lançada uma biblioteca oficial do MongoDb para ser utilizado com EFCore, disponível para versões do .NET 8+.

A configuração é bem simples, vamos aos seguintes passos:

1) Adicionar o pacote MongoDB.EntityFrameworkCore

  dotnet add package MongoDB.EntityFrameworkCore

2) Configurar nosso DbContext:

using Microsoft.EntityFrameworkCore;
using MongoDB.EntityFrameworkCore.Extensions;

public class ApplicationDbContext : DbContext
{
  public DbSet<Payment> Payments { get; init; }

  public ApplicationDbContext(DbContextOptions options): base(options) {}

  protected override void OnModelCreating(ModelBuilder modelBuilder)
  {
      base.OnModelCreating(modelBuilder);
   
      modelBuilder.Entity<Payment>().ToCollection("payments");
  }
}

3) Por fim, configurar nossa class Program.cs:

builder.Services.AddDbContext<ApplicationDbContext>(options =>
{
  options.UseMongoDB(
      "mongodb://localhost:27017", // sua connectionString do mongo
      "myApp" // nome da base de dados
  );
});

Somente com isto, o mongoDb já está configurado para ser utilizado com o EntityFrameworkCore.

Exemplo de uso:

var payments = await dbContext.Payments.Where(p => !p.Vencido).ToListAsync();

Observação: é importante ler a documentação oficial, pois algumas features do linq ainda podem não funcionar.

Mais detalhes na documentação oficial.

Share
Recommended for you
Decola Tech 2025
Suzano - Python Developer
Bootcamp Bradesco - Java Cloud Native
Comments (0)