Bài giảng Lập trình Web với ASP.NET MVC 4 - Bài 4: Models giới thiệu Models, tạo model class - EF’s Code First, Model Binding, sử dụng công cụ hỗ trợ tạo Models. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này.
Trang 1LẬP TRÌNH WEB VỚI
ASP.NET MVC 4
Trang 2Bài 4: Models
1 Giới thiệu Models
3.
3 M Model binder odel binder Model Binding Model Binding
4 Sử dụng công cụ hỗ trợ tạo Models
ADO.NET Entity Data Model ADO.NET Entity Data Model
LINQ to SQL Classes LINQ to SQL Classes
Trang 3– Là thành phần cốt lõi của ứng dụng, có nhiệm
vụ truy cập dữ liệu từ một nguồn dữ liệu và
cung cấp dữ liệu cho nguồn dữ liệu đó
• Chẳng hạn như một CSDL của SQL Server
– Lưu trữ thông tin, trạng thái của các đối tượng
– Tất cả các nghiệp vụ logic (application business
và data access logic) đều được thực thi ở
Model
Trang 4– Một model class trong một ứng dụng ASP.NET MVC không trực tiếp xử lý đầu vào từ trình
duyệt, cũng không tạo ra HTML cho trình duyệt
– Dữ liệu nhập vào từ người dùng sẽ thông qua
View để kiểm tra ở Model trước khi lưu vào cơ
sở dữ liệu
– Việc truy xuất, xác nhận và lưu dữ liệu là phần
việc của Model
Trang 5Models
Trang 6– Theo phương pháp EF’s code first
Trang 7Model Binders
Model binder trong mô hình MVC cung cấp
một cách thức đơn giản để ánh xạ các giá trị được gửi từ form đến một kiểu đối tượng
tùy biến của NET Framework và truyền đối
tượng này đến một action method như một
tham số.
Model binders mặc định trong MVC có tên là DefaultModelBinder
Trang 8Model Binders
DefaultModelBinder
– Có khả năng thực hiện mô hình liên kết với hầu hết các kiểu của NET Framework, bao gồm:
• Các class theo truyền thống, array, IList, ICollection
và cả với các đối tượng IDictionary.
Trang 9Model Binding Mô hình liên kết
Model Binding là tính năng thế mạnh của
ASP.NET MVC
– Với ASP.NET 4.5 và Visual studio 2012, có một phương pháp mới của các ràng buộc dữ liệu
được gọi là “Model Binding”
– Nó giúp cho bạn viết phương thức nhận một đối tượng tùy biến như là một tham số
– Model Binding sẽ giúp bạn tập trung vào việc
cài đặt logic hơn là việc suy nghĩ làm cách nào
Trang 10Model Binding Mô hình liên kết
Ví dụ Edit View
Khi các input name trong form được đặt giống
với các property name của đối tượng dữ liệu
mà nó liên kết
Tính năng model binding của ASP.NET MVC cung cấp sẽ hỗ trợ cho việc tạo ánh xạ các giá trị được gửi từ form sang kiểu đối tượng tương ứng với tham số của action method
[HttpPost]
public ActionResult Edit(Album album ) {
Trang 11Model Binding Mô hình liên kết
Ví dụ: Sử dụng EF’s Code first tạo model class và thực
hiện model binding đơn giản (Nguồn dữ liệu: Table của database thuộc SQLServer)
– Model class: TheLoai
– Controller class: TheLoaiController
• Gồm các action
– Index, Create, Edit
• Các Views tương ứng với action
– Index, Create, Edit
Xem, Thêm, Sửa dữ liệu từ database
Trang 12Công cụ hỗ trợ tạo Models Data Access Logic Data Access Logic
Có nhiều trình thiết kế khác nhau hỗ trợ cho việc tạo nhanh các model đóng vai trò là
data access logic như:
– Microsoft Entity Framework
ADO.NET Entity Data Model
– LINQ to SQL
LINQ to SQL Classes
– Nhibernate, Subsonic, …
Trang 13Tạo Models ADO.NET Entity Data Model
Ví dụ minh họa
– Sử dụng công cụ ADO.NET Entity Data Model tạo một *.edmx đóng vai trò làm Data Access
Logic models cho ứng dụng liên kết với CSDL của SQLServer