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

クイック スタート

項目一覧

  • MongoDB クラスターを作成する
  • Atlas での無料階層クラスターを設定する
  • プレースホルダーを更新します
  • 環境変数への接続stringの追加
  • プロジェクトを設定する
  • プロジェクトを作成する
  • TF Core プロバイダーを依存関係として追加する
  • アプリケーションから MongoDB クラスターをクエリする
  • サンプル コードを追加する
  • サンプル データのクエリ
  • 次のステップ

このガイドでは、 FS コア プロバイダー を使用してMongoDB Atlas クラスターに接続する .NET アプリケーションを作成する方法について説明します。 別のプログラミング言語を使用して MongoDB に接続する場合は、 公式 MongoDB ドライバーのリストを参照してください。

TF Core プロバイダーは、.NET オブジェクトにデータをマッピングすることで、MongoDB クラスター内のデータの操作を簡素化します。

MongoDB Atlas は、MongoDB クラスターでデータをホストする完全管理クラウドデータベース サービスです。このガイドでは、独自の無料クラスター(クレジットカードは不要)を開始する方法を説明します。

F Core Provider アプリケーションを MongoDB Atlas クラスターに接続するには、以下の手順に従います。

1

このクイック スタートに必要な Atlas 無料クラスターをセットアップするには、 MongoDB Atlas セットアップのガイドを完了させてください。

Atlas ガイドの手順を完了すると、Atlas に新しい MongoDB クラスターが配置され、新しいデータベースユーザーが作成され、クラスターにサンプル データセットがロードされます。また、コピー バッファには次のような接続文字列があります。

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

コピー バッファ内の接続stringをテキスト エディターのファイルに貼り付けます。 <username><password>のプレースホルダーを、データベースユーザーのユーザー名とパスワードに置き換えます。

このファイルを安全な場所に保存して、次の手順で使用します。

3

shellで次のコードを実行して、前の手順のコピー バッファ内のMongoDB接続stringを環境変数に保存します。 接続stringを環境変数に保存すると、ソースコードとは別に認証情報が保持されます。 これにより、コードを共有するときに分離によって認証情報が公開される可能性が低くなります。

export MONGODB_URI='<your connection string>'

重要

接続stringの <username> セクションと <password> セクションを、データベースユーザーのユーザー名とパスワードに置き換えてください。

1

新しいディレクトリを作成し、 dotnet newコマンドを使用してプロジェクトを次のように初期化します。

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

dotnet addコマンドを使用して、FS コア プロバイダーを依存関係としてプロジェクトに追加します。

dotnet add package MongoDB.EntityFrameworkCore
1

プロジェクトのベース ディレクトリにあるProgram.csという名前のファイルを開きます。 次のサンプル コードを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/ja-jp/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

shell で次のコマンドを実行します。 サンプル データセットから、映画「Back to the feature」のプロットが出力されます。

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.

Tip

出力が空の場合は、サンプル データセットがクラスターにロードされていることを確認してください。

これらの手順を完了すると、MongoDB クラスターに接続し、サンプル データに対してクエリを実行し、結果を出力する動作する Entity Framework アプリケーションが作成されます。

TF Core プロバイダーを使用して一般的な操作を実行する方法については、「 クイック リファレンス 」を参照してください。

戻る

MongoDB Entity Framework コアプロバイダー