Menu Docs

Início rápido

Este guia mostra como criar um aplicação .NET que usa o provedor de núcleo EF para se conectar a um cluster MongoDB Atlas. Se você preferir se conectar ao MongoDB usando outra linguagem de programação, consulte nossa lista de drivers oficiais do MongoDB .

O EF Core Provider simplifica as operações em dados em clusters MongoDB mapeando os dados para objetos .NET .

O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seus dados em clusters MongoDB. Neste guia, mostramos como começar a usar seu próprio cluster gratuito (nenhum cartão de crédito necessário).

Siga as etapas abaixo para conectar seu aplicação EF Core Provider a um cluster MongoDB Atlas .

1

Para definir o cluster gratuito do Atlas necessário para este Início Rápido, complete o guia de configuração do MongoDB Atlas .

Depois de concluir as etapas do guia do Atlas , você tem um novo MongoDB cluster implantado no Atlas, um novo usuário do banco de dados e conjuntos de dados de amostra carregados em seu cluster. Você também tem uma connection string semelhante à seguinte em seu buffer de cópia:

"mongodb+srv://<username>:<password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
2

Cole a string de conexão no buffer de cópia em um arquivo no editor de texto de sua preferência. Substitua os espaços reservados <username> e <password> pelo nome de usuário e senha do usuário do banco de dados de dados.

Salve este arquivo em um local seguro para uso na próxima etapa.

3

Execute o seguinte código em seu shell para salvar a MongoDB de conexão do string em seu buffer de cópia da etapa anterior para uma variável de ambiente. Armazenar sua connection string em uma variável de ambiente mantém suas credenciais separadas do código-fonte. Essa separação torna menos provável a exposição de suas credenciais ao compartilhar seu código.

export MONGODB_URI='<your connection string>'

Importante

Certifique-se de substituir as seções <username> e <password> da string de conexão pelo nome de usuário e senha do seu usuário de banco de dados de dados.

1

Crie um novo diretório e utilize o comando dotnet new para inicializar seu projeto da seguinte forma:

mkdir entity-quickstart
cd entity-quickstart
dotnet new console
2

Use o comando dotnet add para adicionar o EF Core Provider ao seu projeto como uma dependência.

dotnet add package MongoDB.EntityFrameworkCore
1

Abra o arquivo denominado Program.cs no diretório base do seu projeto. Copie o código de exemplo a seguir em Program.cs:

using Microsoft.EntityFrameworkCore;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;
using MongoDB.EntityFrameworkCore.Extensions;
var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI");
if (connectionString == null)
{
Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/docs/drivers/csharp/current/quick-start/#set-your-connection-string");
Environment.Exit(0);
}
var client = new MongoClient(connectionString);
var db = MflixDbContext.Create(client.GetDatabase("sample_mflix"));
var movie = db.Movies.First(m => m.Title == "Back to the Future");
Console.WriteLine(movie.Plot);
public class MflixDbContext : DbContext
{
public DbSet<Movie> Movies { get; init; }
public static MflixDbContext Create(IMongoDatabase database) =>
new(new DbContextOptionsBuilder<MflixDbContext>()
.UseMongoDB(database.Client, database.DatabaseNamespace.DatabaseName)
.Options);
public MflixDbContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Movie>().ToCollection("movies");
}
}
public class Movie
{
[BsonId]
public ObjectId _id { get; set; }
[BsonElement("title")]
public string Title { get; set; }
[BsonElement("rated")]
public string Rated { get; set; }
[BsonElement("plot")]
public string Plot { get; set; }
}
2

Execute o seguinte comando em sua shell. Ele deve imprimir o gráfico do filme "De volta para o futuro" do conjunto de dados de amostra:

dotnet run entity-quickstart.csproj
A young man is accidentally sent 30 years into the past in a time-traveling
DeLorean invented by his friend, Dr. Emmett Brown, and must make sure his
high-school-age parents unite in order to save his own existence.

Dica

Se a saída estiver vazia, verifique se você carregou os conjuntos de dados de exemplo no cluster.

Depois de concluir essas etapas, você deve ter um aplicativo Entity Framework funcional que se conecte ao MongoDB cluster, execute uma query nos dados de amostra e imprima o resultado.

Saiba como usar o EF Core Provider para executar operações comuns na Referência rápida.