HANDSOMEROOT

4. TẠO MỚI MỘT MODEL



Trong phần này chúng ta sẽ tạo một số lớp để quản lý phim ảnh với CSDL. Các lớp này gọi là thành phần “model” của ứng dụng ASP.NET MVC.
Chúng ta sẽ sử dụng một kỹ thuật truy xuất, tương tác với dữ liệu là Entity Framework để định nghĩa và làm việc với các lớp model. Entity Framework (EF) hỗ trợ một phương thức phát triển được gọi là Code First. Code First cho phép bạn tạo các đối tượng dữ liệu bằng cách viết các lớp trước tiên. (Các lớp này được biết như các lớp POCO, viết tắt ”Plain-Old CLR Objects”). Chúng ta có thể tạo CSDL ngay lúc chạy, điều này cho phép chúng ta phát triển ứng dụng nhanh chóng và rõ ràng.

Tạo mới các lớp Model

Trong của sổ Solution Explorer, right click thư mục Models, chọn Add, rồi chọn Class.

Gõ tên class là "Movie".
Thêm 5 thuộc tính (properties) cho lớp Movie:
Chúng ta sẽ dùng lớp Movie để biểu diễn các đối tượng phim ảnh trong CSDL. Một đối tượng thuộc lớp Movie sẽ có một dòng tương ứng trong CSDL, và một thuộc tính của lớp Movie sẽ ánh xạ vào một cột trong bảng.
Trong cùng file, thêm những phần sau vào lớp MovieDBContext:
Lớp MovieDBContext biểu diễn context Entity Framework (ngữ cảnh) của CSDL phim, nó cũng là nơi chịu trách nhiệm truy vấn và cập nhật các thực thể Movie trong CSDL. Lớp MovieDBContext dẫn xuất từ lớp DbContext được cung cấp bởi Entity Framework.
Để có thể tham chiếu đến DbContext và DbSet, chúng ta cần thêm using sau vào phần trên của tập tin:
using System.Data.Entity;
Hoặc là bạn có thể dùng thao tác như bên dưới:
Chú ý: Một số phát biểu using không dùng đến đã được xóa đi. Bạn cũng có thể làm điều này bằng cách click phải chuột lên file và chọn Organize Usings, rồi nhấn tiếp Remove Unused Usings.
Như vậy là chúng ta đã xong việc tạo model trong MVC, Trong phần tiếp theo bạn sẽ làm việc với chuỗi kết nối đến CSDL.
(Dịch bởi giảng viên NGÔ THANH TÙNG - SOFTECH APTECH từ bài viết của tác giả )

Nhận xét

Bài đăng phổ biến từ blog này

[Share] CSDL Quản lý Shop Online

Hướng dẫn cài đặt VRML Pad và Cortona 3D Viewer

RANKING in SQL (ROW_NUMBER, RANK, DENSE_RANK,NTILE)