Docs Menu
Docs Home
/ / /
EF 핵심 제공자
/

EF 코어 제공자 구성

이 페이지의 내용

  • POCO 생성
  • DB 컨텍스트 클래스 생성
  • MongoDB 사용
  • 예시

이 가이드 에서는 MongoDB Entity Framework Core Provider를 사용하도록 애플리케이션 을 구성하는 방법을 학습 봅니다. 새 프로젝트 를 설정하다 하고 EF Core Provider를 설치하는 방법을 학습 보려면 빠른 시작을 참조하세요.

일반 이전 CLR/클래스 객체 를 만듭니다. , 또는 POCO 를 입력하여 엔터티의 모델로 사용할 수 있습니다. POCO는 프레임워크별 기본 클래스나 인터페이스의 기능을 상속하지 않는 간단한 클래스 객체입니다.

다음 코드 예제에서는 고객을 나타내는 POCO를 만드는 방법을 보여 줍니다.

public class Customer
{
public ObjectId Id { get; set; }
public String Name { get; set; }
public String Order { get; set; }
}

POCO에 대해 자세히 알아보려면 .NET/C# 드라이버 설명서에서 POCO 가이드 를 참조하세요.

Entity Framework Core 사용을 시작하려면 DBContext 에서 파생되는 컨텍스트 클래스를 만듭니다. . DbContext 파생 클래스 인스턴스 는 데이터베이스 세션을 나타내며 엔터티의 인스턴스를 쿼리 하고 저장하는 데 사용됩니다.

DBContext 클래스는 해당 컨텍스트를 사용하는 동안 상호 작용할 수 있는 엔터티를 지정하는 DBSet 속성을 노출합니다.

다음 예제에서는 DBContext 파생 클래스의 인스턴스를 만들고 Customer 객체를 DBSet 속성으로 지정합니다.

public class MyDbContext : DbContext
{
public DbSet<Customer> Customers { get; init; }
public MyDbContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Customer>().ToCollection("customers");
}
}

이전 코드 예시에서는 OnModelCreating() 메서드를 재정의합니다. OnModelCreating() 메서드를 재정의하면 모델 및 해당 속성에 대한 구성 세부 정보를 지정할 수 있습니다. 이 예제에서는 ToCollection() Customer 메서드를 사용하여 customers 애플리케이션의 엔터티가 MongoDB의 collection에 매핑되도록 지정합니다.

DBContext 클래스를 만든 후 DbContextOptionsBuilder 객체를 생성하고 해당 UseMongoDB() 메서드를 호출합니다. 이 메서드는 인스턴스 MongoClient 와 작업 중인 collection을 저장하는 데이터베이스의 이름이라는 두 가지 매개변수를 사용합니다.

UseMongoDB() 메서드는 DbContextOptions 객체를 반환합니다. 이 객체의 Options 속성을 DBContext 클래스의 생성자에 전달합니다.

다음 예제에서는 이러한 방식으로 DBContext 객체를 구성하는 방법을 보여 줍니다.

var mongoClient = new MongoClient("<Your MongoDB Connection URI>");
var dbContextOptions =
new DbContextOptionsBuilder<MyDbContext>().UseMongoDB(mongoClient, "<Database Name");
var db = new MyDbContext(dbContextOptions.Options);

MongoClient 만들기

EF Core Provider를 사용할 때 MongoDB .NET/ C# 드라이버 에서 메서드를 호출할 수 있습니다. 이전 예시 에서는 .NET/ C# 드라이버 의 MongoClient() 메서드를 사용하여 MongoDB 인스턴스 에 연결하는 MongoDB 클라이언트 를 만듭니다.

MongoDB .NET/C# 드라이버를 사용하여 MongoDB에 연결하는 방법에 대해 자세히 알아보려면 .NET/C# 드라이버 설명서의 연결 가이드 를 참조하세요.

다음 코드 예시 에서는 EF Core Provider를 구성하고 데이터베이스 에 문서 를 삽입하는 방법을 보여 줍니다.

using Microsoft.EntityFrameworkCore;
using MongoDB.Bson;
using MongoDB.Driver;
using Microsoft.Extensions.Configuration;
using MongoDB.EntityFrameworkCore.Extensions;
var mongoClient = new MongoClient("<Your MongoDB Connection URI>");
var dbContextOptions =
new DbContextOptionsBuilder<MyDbContext>().UseMongoDB(mongoClient, "<Database Name>");
var db = new MyDbContext(dbContextOptions.Options);
// Add a new customer and save it to the database
db.Customers.Add(new Customer() { name = "John Doe", Order = "1 Green Tea" });
db.SaveChanges();
public class Customer
{
public ObjectId Id { get; set; }
public String Name { get; set; }
public String Order { get; set; }
}
public class MyDbContext : DbContext
{
public DbSet<Customer> Customers { get; init; }
public MyDbContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Customer>().ToCollection("customers");
}
}

돌아가기

Fundamentals