Friday, January 17, 2014

Thêm Model cho ứng dụng ASP.NET MVC

Bài viết được cập nhật từ 1:48:29 CH, 26 Tháng Tám 2012 bởi tumivn
Đây là bài thứ năm trong chương 1 cho series bài học Căn bản lập trình ASP.NET MVC. Với bài học này bạn sẽ học cách tạo một lớp model và cách kết nối với database bằng Entity Framework Code First để lấy dữ liệu, lập trình các action để lấy dữ liệu đưa vào đối tượng model và phối hợp với view để tạo ra kết quả trả về cho trình duyệt.

Tạo các lớp model

Tại cửa sổ Solution Explorer, nhấp chuột phải tại thư mục Models, chọn Add và sau đó chọn Class

Lúc đó sẽ xuất hiện hộp thoại, bạn hãy nhập tên class là Task (tác vụ), các trường của Task gồm có Id (khóa chính), Content (nội dung công việc), CreateDate (ngày tạo), DueDate (ngày phải hoàn thành).

using System;

namespace ToDoApp.Models
{
    public class Task
    {
        public int Id { get; set; }
        public string Content { get; set; }
        public DateTime CreateDate { get; set; }
        public DateTime DueDate { get; set; }
    }
}

Chúng ta sẽ sử dụng lớp Task để đại diện cho dữ liệu về các tác vụ cần phải thực hiện được lưu ở database. Và mỗi trường của lớp Task sẽ ánh xạ với một cột trong bảng Tasks của database.

Tiếp theo chúng ta sẽ tạo một lớp cũng nằm ở thư mục Models có tên là TaskDbContext

using System.Data.Entity;

namespace ToDoApp.Models
{
    public class TaskDbContext: DbContext
    {
        public DbSet<Task> Tasks { get; set; }
    }
}

Lớp TaskDbContext là lớp kế thừa từ lớp DbContext của EntityFramework, đây là ngữ cảnh giúp bạn có thể thao tác với dữ liệu từ database thông qua Entity Framework. Lớp DbContext nằm trong namespace System.Data.Entity.

Tạo chuỗi kết nối và làm việc với database SQLCE

Lớp TaskDbContext là lớp bạn tạo ra để kết nối với database và ánh xạ lớp Task với dữ liệu bên trong database. Nhưng để kết nối với database, chúng ta luôn cần phải có một chuỗi kết nối, và bây giờ chúng ta sẽ thêm thông tin chuỗi kết nối vào tập tin Web.config của ứng dụng.

Có nhiều tập tin Web.config, nhưng tập tin web.config mà bạn cần mở là tập tin nằm ở thư mục gốc của ứng dụng, đó là tập tin chứa các cấu hình chính dành cho ứng dụng web mà bạn đang lập trình.

Bây giờ bạn hãy thêm chuỗi kết nối sau vào trong thẻ <connectionStrings> ở trong tập tin Web.config

<add name="TaskDBContext"
           connectionString="Data Source=|DataDirectory|Todo.sdf"
           providerName="System.Data.SqlServerCe.4.0"/>

Điều bạn cần lưu ý về nội dung của chuỗi kết nối trên đó là chuỗi kết nối trỏ về tập tin Todo.sdf nằm ở thư mục App_Data của ứng dụng. Tập tin Todo.sdf là một tập tin database theo định dạng của SQLCE (SQL Compact Edition – phiên bản thu gọn của SQL Server). Và quan trọng hơn cả là tên của chuỗi kết nối là TaskDbContext, nó trùng với tên của lớp TaskDbContext, và như vậy, khi ứng dụng chạy, khi bạn không định nghĩa cho TaskDbContext về chuỗi kết nối nó cần tìm để kết nối, nó sẽ tự động tìm chuỗi kết nối có tên trùng với tên của nó và dựa vào đó để thiết lập kết nối với database.

Đến đây thì bạn đã có những bước chuẩn bị để sẵn sàng viết controller quản lý các tác vụ. Bài viết tiếp theo chúng ta sẽ xây dựng TaskController nhằm quản lý các tác vụ và cho phép người dùng tạo và hiển thị danh sách các việc cần làm.

No comments:

Post a Comment