新しいモデルの追加
作成者: Rick Anderson
Note
Visual Studio の最新バージョンを使用した、このチュートリアルの更新バージョンはこちらにあります。 新しいチュートリアル (このチュートリアルよりも多くの改善がされています) では、ASP.NET Core MVC を使用しています。
このチュートリアルでは、ASP.NET Core MVC のコントローラーとビューについて説明します。 Razor Pages は ASP.NET Core での新しい代替手段であり、Web UI の構築をより簡単かつ生産的にする、ページベースのプログラミング モデルです。 MVC のバージョンの前に、Razor ページのチュートリアルを試すことをお勧めします。 この Razor ページのチュートリアルの特徴は次のとおりです。
- 使いやすい。
- 多くの機能をカバーしている。
- 新しいアプリ開発に推奨されるアプローチです。
このセクションでは、データベースのムービーを管理するためのクラスをいくつか追加します。 これらのクラスは、ASP.NET MVC アプリの "モデル" 部分になります。
Entity Framework と呼ばれる .NET Framework のデータアクセス テクノロジを使用して、これらのモデル クラスを定義し、使用します。 Entity Framework (EF とも呼ばれる) は、Code First と呼ばれる開発パラダイムをサポートしています。 Code First を使用すると、簡単なクラスを記述することでモデル オブジェクトを作成できます。 (これらは、POCO (Plain-Old CLR Objects) クラスとも呼ばれます)。そして、クラスからすぐに作成されるデータベースを利用できるため、開発ワークフローがすっきりとした迅速なものになります。 最初にデータベースを作成する必要がある場合でも、このチュートリアルに従って MVC と EF アプリの開発について学習できます。 それから、Database First のアプローチについて説明している、Tom Fizmakens の「ASP.NET スキャフォールディング」のチュートリアルに取り組んでください。
モデル クラスの追加
ソリューション エクスプローラーで Models フォルダーを右クリックし、[追加]、[クラス] の順に選択します。
クラス名として「Movie」と入力します。
Movie
クラスに次の 5 つのプロパティを追加します。
using System;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
}
この Movie
クラスを使用して、データベース内のムービーを表現します。 Movie
オブジェクトの各インスタンスはデータベース テーブル内の行に対応しており、Movie
クラスの各プロパティはテーブルの列に対応しています。
注: System.Data.Entity および関連クラスを使用するには、Entity Framework NuGet パッケージをインストールする必要があります。 詳細な手順についてはリンク先を参照してください。
同じファイルで、次の MovieDBContext
クラスを追加します。
using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}
MovieDBContext
クラスは Entity Framework のムービー データベース コンテキストを表しており、データベースに対する Movie
クラス インスタンスのフェッチ、保存、更新を処理します。 MovieDBContext
は、Entity Framework が提供する DbContext
基底クラスから派生しています。
DbContext
と DbSet
を参照できるようにするためには、ファイル上部に using
ステートメントを追加する必要があります。
using System.Data.Entity;
これを行うには、using ステートメントを手動で追加するか、赤い波線の上にマウス ポインターを合わせ、[Show potential fixes
] をクリックし、[using System.Data.Entity;
] をクリックします
注: 未使用の using
ステートメントがいくつか削除されます。 Visual Studio では、未使用の依存関係は灰色で表示されます。 灰色の依存関係の上にマウス ポインターを合わせ、[Show potential fixes
] をクリックし、[不要な using の削除] をクリックすると、未使用の依存関係を削除できます。
ついに、モデル (MVC の M) を追加しました。 次のセクションでは、データベース接続文字列を操作します。