Docs Menu
Docs Home
/ / /
FS コア プロバイダー
/

FS コア プロバイダーの設定

項目一覧

  • POCO を作成
  • DB コンテキスト クラスの作成
  • MongoDB の使用

このガイドでは、MongoDB Entity Framework コア プロバイダーを使用するようにアプリケーションを構成する方法を学習します。 新しいプロジェクトを設定し、TF コア プロバイダーをインストールする方法については、 クイック スタートを参照してください。

Plain Old CLR/Class オブジェクト の作成 、または POCO の場合は、エンティティのモデルとして を使用します。POCO は、フレームワーク固有の基本クラスやインターフェースから機能を継承しない単純なクラス オブジェクトです。

次のコード例は、カスタマーを表す POCO を作成する方法を示しています。

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

Tip

POCO の詳細については、.NET/C# ドライバーのドキュメントのPOCO ガイドを参照してください。

Entity Framework コアの使用を開始するには、 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エンティティが MongoDB のcustomersコレクションにマップされることを指定します。

DBContextクラスを作成したら、 DbContextOptionsBuilderオブジェクトを構築し、そのUseMongoDB()メソッドを呼び出します。 このメソッドでは、 MongoClientインスタンスと、操作するコレクションを保存するデータベースの名前の 2 つのパラメータを取ります。

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

Tip

MongoClient の作成

LF Core プロバイダーを使用する場合、MongoDB .NET/C# ドライバーからメソッドを呼び出すことができます。 前の例では、.NET/C# ドライバーのMongoClient()メソッドを使用して、MongoDB インスタンスに接続する MongoDB クライアントを作成しています。

MongoDB .NET/C# ドライバーを使用して MongoDB に接続する方法の詳細については、.NET/C# ドライバーのドキュメントの「接続ガイド」を参照してください。

次のコード例は、FS コアプロバイダーを構成し、 データベースにドキュメントを挿入する方法を示しています。

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