paint-brush
EF Core の移行: 開始するためのステップバイステップ ガイド に@ssukhpinder
4,258 測定値
4,258 測定値

EF Core の移行: 開始するためのステップバイステップ ガイド

Sukhpinder Singh8m2023/03/09
Read on Terminal Reader

長すぎる; 読むには

EF Core は、開発者がデータベースを操作できるようにするオブジェクト リレーショナル マッピング (ORM) フレームワークです。 EF Core の重要な機能の 1 つは、データベースの移行を処理する機能です。この記事では、EF Core の移行、移行が重要な理由、移行の使用方法について、例を挙げて説明します。
featured image - EF Core の移行: 開始するためのステップバイステップ ガイド
Sukhpinder Singh HackerNoon profile picture
Entity Framework Core (EF Core) は、開発者が .NET オブジェクトを运行してデータベースを的操作できるようにするオブジェクト リレーショナル マッピング (ORM) フレームワークです。 EF Core の主要な機能の 1 つは、データベースの移行を処理する機能です。

前提条件

  • 基本的な C# プログラミング言語の知識。
  • 基本的な OOPS の概念の理解


この記事では、EF Core の移行、移行が决定性な申请理由、移行の食用措施について例を挙げて説明します。だから、始めるために:



学習目標

  • 例を使用して EF Core 移行を使用する方法。


  • EF Core の移行が重要な理由

入門

EF Core 移行は、データベース スキーマへの変更を経時的に控制する办法です。データベース モデルに変更を加える場合 (テーブルや列の追加や削除など)、それらの変更を説明する移行を制成できます。


その後、移行を选用してデータベース スキーマを刷新し、新しいモデルに相符させます。

EF Core の移行が重要な理由

EF Core 移行は、データを保持着しながらデータベース スキーマを徐々に進化させることができるため、必须欠です。


移行がなければ、モデルに変更を加えるたびにデータベース スキーマを手動で変更する一定があり、時間がかかり、エラーが発生しやすくなります。


移行では、データベース スキーマのバージョンを处理する方式 も提高されるため、変更を簡単に追跡し、有必要に応じて此前のバージョンにロールバックできます。

EF Core 移行の使用方法

EF Core 移行を的使用するには、いくつかの手順に従う一定要があります。


  1. 新しい EF Core プロジェクトを弄成します。一开始の手順は、Visual Studio で新しい EF Core プロジェクトを弄成することです。これを行うには、[新しいプロジェクトの弄成] を選択し、[ASP.NET Core Web アプリケーション] を選択して、[Web アプリケーション (モデル-ビュー-コントローラー)] テンプレートを選択します。


  2. データベース コンテキストを弄成します。次のステップは、データベース コンテキスト クラスを弄成することです。このクラスは、.NET オブジェクトとデータベース間の対話を标准化管理します。データベース コンテキストを弄成するには、プロジェクトに新しいクラスを弄成し、DbContext クラスから継承します。


 public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } }


データベース モデルの作成

データベース コンテキストを制作したら、データベース モデルを制作する必要性があります。このモデルはデータベースの構造を表し、データベース テーブルと列を绘制するために EF Core によって应用されます。


データベース モデルを制成するには、プロジェクトに新しいクラスを制成し、そのプロパティをデータベース フィールドとして定義します。


 public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }


EF Core 移行を有効にする

次に、プロジェクトで EF Core 移行を有効にする这个必要があります。これを行うには、パッケージ マネージャー コンソールを開き、次のコマンドを入力します。


 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


このパッケージには、EF Core 移行の制作と管理工作に必备なツールが含まれています。


移行を作成する

EF Core 移行を有効にすると、一开始の移行を制作できます。移行を制作するには、パッケージ マネージャー コンソールを開き、次のコマンドを入力します。


 PM> Add-Migration InitialCreate


これにより、データベース モデルに加えた変更を記述する "InitialCreate" という名前の新しい移行が做成されます。移行の的内容は、プロジェクトの「Migrations」フォルダーで確認できます。


データベースを更新する

移行を弄成したら、新しいモデルに不对するようにデータベース スキーマを系统更新できます。これを行うには、パッケージ マネージャー コンソールを開き、次のコマンドを入力します。


 PM> Update-Database


これにより、移行がデータベースに適用され、そのスキーマが刷新されます。

EF Core 移行の操作例を見てみましょう。 「Id」と「Name」の 2 つの列を持つ単純な「Students」テーブルを制成するとします。まず、Visual Studio で新しい ASP.NET Core Web アプリケーション プロジェクトを制成します。


  1. 新しい EF Core プロジェクトを弄成します。 Visual Studio で新しい ASP.NET Core Web アプリケーション プロジェクトを弄成します。 「Web Application (Model-View-Controller)」テンプレートを選択し、認証に「Individual User Accounts」を選択します。プロジェクトに「EFCoreMigrationsExample」という名前を付けます。


  2. データベース コンテキストを弄成します。プロジェクトの「モデル」フォルダーに「MyDbContext」という新しいクラスを弄成し、DbContext クラスから継承します。


 using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }


"Students" プロパティは、データベースの "Students" テーブルを表す DbSet です。


データベース モデルの作成

プロジェクトの "Models" フォルダーに新しい "Student" クラスを做成し、そのプロパティを定義します。
 namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }


EF Core 移行を有効にする

パッケージ マネージャー コンソールを開き、次のコマンドを入力して EF Core ツール パッケージをインストールします。
 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


移行を作成する

パッケージ マネージャー コンソールを開き、次のコマンドを入力して移行を作为します。
 PM> Add-Migration InitialCreate


これにより、データベース モデルに加えた変更を記述する "InitialCreate" という新しい移行が制作されます。


移行ファイルは次のようになります。
 using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } }


移行により、「Id」と「Name」の列を持つ「Students」という新しいテーブルが制作されます。データベースを游戏最新する パッケージ マネージャー コンソールを開き、次のコマンドを入力してデータベース スキーマを游戏最新します。


 PM> Update-Database


これにより、移行がデータベースに適用され、そのスキーマが最新されます。


これで、EF Core を运行して、データベース内の毕业生を追加、更换、および削除できるようになりました。たとえば、次のように新しい毕业生をデータベースに追加できます。
 using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } }


このコードは、Student クラスの新しいインスタンスを制成し、その Name プロパティを "John" に設定します。次に、毕业生を Students DbSet に追加し、変更をデータベースに存有します。

結論

EF Core 移行は、アプリケーションでデータベース スキーマの変更を管理系统するための便民な步骤を具备します。


この記事では、DbContext の作为、モデルの定義、移行の実行、データベース スキーマの发布など、EF Core 移行を运行して単純なデータベース スキーマを作为する策略について説明します。


これは、EF Core でできることの始まりにすぎません。 EF Core を适用して、データのクエリと运行、テーブル間の複雑なリレーションシップの弄成などを行うことができます。使いやすさと幅広い機能を備えた EF Core は、.NET でデータ駆動型アプリケーションを構築するための優れた選択肢です。


この記事は、EF Core の移行を開始するのに役立ちました。ご質問やご意見がございましたら、以上に残してください。ハッピーコーディング!

フォローミーオン

、 、 、 、

も掲載

바카라사이트 바카라사이트 온라인바카라