본문으로 바로가기

[C#] MVC Model

category Program/C# 2019. 1. 23. 10:23

MVC Model

MVC의 Model에는 비지니스 로직이나 데이타 엑세스를 위한 C# 클래스들을 놓게 된다. 외부 데이타 소스를 엑세스하기 위한 ADO.NET 클래스들이나 Entity Framework 클래스 등이 Model에 놓이게 되며, 비지니스 로직이나 유틸러티 클래스 등을 이곳에 두게 된다. 모델은 /Models 폴더에 일반적으로 .cs 파일로 저장되는데, /Models 안에 서브폴더를 만들어 클래스들을 그룹으로 묶을 수도 있다. 모델 파일을 생성하기 위해서는 /Models 폴더에서 우측하고 Add -> New Item 하여 새 .cs 파일을 추가하면 된다. 이렇게 생성된 모델 클래스는 Controller에 의해 사용된다.

아래 예제는 간단하게 로그인명과 암호를 체크하는 로직을 Model 클래스로 만든 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 파일: /Models/LoginManager
 
public class LoginManager
{
    public static bool CheckLogin(string username, string password)
    {
        var strConn = WebConfigurationManager.ConnectionStrings["DeafultConnection"].ConnectionString;           
        using (SqlConnection conn = new SqlConnection(strConn))
        {
            conn.Open();
            string sql = "SELECT NULL FROM Login WHERE Username=@user AND Password=@pwd";
            SqlCommand cmd = new SqlCommand(sql, conn);               
            cmd.Parameters.AddWithValue("@user", username);
            cmd.Parameters.AddWithValue("@pwd", password);
            object res = cmd.ExecuteScalar();
 
            return res != null;
        }
    }
}

이러한 모델 클래스는 아래와 같이 Controller에서 호출되어 사용될 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 파일: /Controllers/LoginController
 
public class LoginController : Controller
{
    // GET: /Login/Check
    public ActionResult Check()
    {
        string user = Request["username"];
        string pwd = Request["password"];
 
        bool success = LoginManager.CheckLogin(user, pwd);
 
        ViewBag.Success = success;
        return View();
    }
}


출처 : http://www.csharpstudy.com/web/article/4-MVC-Model

'Program > C#' 카테고리의 다른 글

[C#] Nullable 타입의 도입  (0) 2019.01.23
[C#] MVC View  (0) 2019.01.23
[C#] MVC Controller  (0) 2019.01.23
[C#] C#에서 @를 사용할 때  (0) 2019.01.22
[C#] 진수 변환 (Base Converter)  (0) 2019.01.22