Mvc-framework-models
提供:Dev Guides
MVCフレームワーク-モデル
コンポーネント「モデル」は、アプリケーションのデータを管理します。 ビューからの要求に応答し、コントローラーからの指示にも応答して、それ自体を更新します。
モデルクラスは、手動で作成するか、データベースエンティティから生成できます。 これからの章では、モデルを手動で作成するための多くの例を見ていきます。 したがって、この章では、他のオプション、つまり データベースから生成することにより、両方の方法を実際に体験できます。
データベースエンティティを作成する
SQL Serverに接続し、新しいデータベースを作成します。
次のクエリを実行して、新しいテーブルを作成します。
CREATE TABLE [dbo].[Student](
[StudentID] INT IDENTITY (1,1) NOT NULL,
[LastName] NVARCHAR (50) NULL,
[FirstName] NVARCHAR (50) NULL,
[EnrollmentDate] DATETIME NULL,
PRIMARY KEY CLUSTERED ([StudentID] ASC)
)
CREATE TABLE [dbo].[Course](
[CourseID] INT IDENTITY (1,1) NOT NULL,
[Title] NVARCHAR (50) NULL,
[Credits] INT NULL,
PRIMARY KEY CLUSTERED ([CourseID] ASC)
)
CREATE TABLE [dbo].[Enrollment](
[EnrollmentID] INT IDENTITY (1,1) NOT NULL,
[Grade] DECIMAL(3,2) NULL,
[CourseID] INT NOT NULL,
[StudentID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([EnrollmentID] ASC),
CONSTRAINT [FK_dbo.Enrollment_dbo.Course_CourseID] FOREIGN KEY ([CourseID])
REFERENCES [dbo].[Course]([CourseID]) ON DELETE CASCADE,
CONSTRAINT [FK_dbo.Enrollment_dbo.Student_StudentID] FOREIGN KEY ([StudentID])
REFERENCES [dbo].[Student]([StudentID]) ON DELETE CASCADE
)
データベースエンティティを使用してモデルを生成する
データベースを作成してテーブルを設定したら、先に進み、新しいMVC Empty Applicationを作成できます。 プロジェクトのModelsフォルダーを右クリックし、[追加]→[新しいアイテム]を選択します。 次に、ADO.NET Entity Data Modelを選択します。
次のウィザードで、「データベースから生成」を選択して「次へ」をクリックします。 SQLデータベースへの接続を設定します。
データベースを選択し、「接続のテスト」をクリックします。 次のような画面が表示されます。 Nextをクリックしてください。
テーブル、ビュー、ストアドプロシージャおよび関数を選択します。 完了をクリックします。 次のスクリーンショットに示すように作成されたモデルビューが表示されます。
上記の操作により、すべてのデータベースエンティティのモデルファイルが自動的に作成されます。 たとえば、作成したStudentテーブルは、次のコードを含むモデルファイルStudent.csになります-
namespace MvcModelExample.Models {
using System;
using System.Collections.Generic;
public partial class Student {
public Student() {
this.Enrollments = new HashSet();
}
public int StudentID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public Nullable EnrollmentDate { get; set; }
public virtual ICollection Enrollments { get; set; }
}
}