ASPを理解する.NETにおけるMVCプログラミングモデル第3章データモデル
9712 ワード
MVCモデル
MVCモデルは、純粋なビューおよびコントローラロジックを除いて、すべてのアプリケーションロジック(ビジネスロジック、検証ロジック、データアクセスロジック)を含む.MVCにより、モデルはアプリケーションデータを保存して操作することができる.
Modelsフォルダ
Modelsフォルダには、アプリケーションモデルを表すクラスが含まれています.
ログイン認証を例にAccountModelsを作成します.csファイル、アプリケーションの安全なモデルに使用されます.
AccountModelsには、LogOnModel、ChangePasswordModel、RegisterModelが含まれています.
LogOnModel:
public class LogOnModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
RegisterModel:
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.",
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password
do not match.")]
public string ConfirmPassword { get; set; }
}
ChangePasswordModel:
public class ChangePasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.",
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password
do not match.")]
public string ConfirmPassword { get; set; }
}
データベース・モデルの追加
ソリューションマネージャでModelsフォルダを右クリックし、「追加」、「クラス」を選択します.
を選択して、MovieDBを追加します.csを例にとると、
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcDemo.Models
{
public class MovieDB
{
public int ID { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set; }
}
}
データベースコントローラの追加
Visual Studioでは、次のファイルが作成されます.
データベース・ビューの追加
以下のファイルは、自動的にMoviesフォルダに作成されます.