Cấp bậc tác giả:

TRAINING

[ASP.NET MVC]Phần 6: Thêm mới Model trong ASP.NET MVC

Được viết bởi webmaster ngày 09/11/2018 lúc 11:05 PM
Model thể hiện sơ đồ dữ liệu và các nguyên tắc hoạt động để kết nối dữ liệu trong kiến trúc MVC. Model duy trì dữ liệu của ứng dụng và chứa các đối tượng cho phép truy xuất và lưu trữ dữ liệu ở cơ sở dữ liệu.
  • 0
  • 8662

[ASP.NET MVC]Phần 6: Thêm mới Model trong ASP.NET MVC

Model thể hiện sơ đồ dữ liệu và các nguyên tắc hoạt động để kết nối dữ liệu trong kiến trúc MVC. Model duy trì dữ liệu của ứng dụng và chứa các đối tượng cho phép truy xuất và lưu trữ dữ liệu ở cơ sở dữ liệu. Các lớp trong Model cũng lưu trữ dữ liệu mô tả về thuộc tính của các đối tượng ở trong thư mục Model.
Khi lập trình ASP.NET, chúng ta bắt buộc làm quen với công nghệ truy cập dữ liệu .NET Framework, hay còn gọi là Entity Framework (EF). Theo đó, EF sẽ tự động gieo Model cho ứng dụng ASP.NET MVC theo nhiều cách khác nhau như Code First, Database First và Model First. 
6.1. Sử dụng Entity Framework để tạo Model mới theo kiểu DatabaseFirst
Bạn có thể tùy chọn nhiều cách khác nhau để tạo Model, ví dụ như CodeFirst (viết code tay sau đó phát sinh dữ liệu database sau), DatabaseFirst (dựa vào database sẵn có để tạo tự động có mô hình mã nguồn), ModelFirst (xây dựng mô hình trên tập tin sơ đồ trước, sau đó tự động phát sinh mã nguồn và database sau).
Để cho đỡ rắc rối, chúng ta dùng EF để gieo mã nguồn theo kiểu DatabaseFirst, tức là bạn chỉ cần có 1 Database sau đó là có thể gieo các lớp mã nguồn từ database.
Quay trở lại dự án TutorialMVC, trong cửa sổ Solution Explorer, bạn có thể thấy một thư mục tên là Model. Chuột phải lên thư mục này, chọn Add -> New Item.
Tiếp đến, bên cột trái chọn Data và khung chính bên phải chọn ADO.NET Entity Data Model, đặt tên mô hình này là Model.edmx.
lap-trinh-web-asp.net-mvc-6_76.png 
Tiếp theo, bạn chọn Generate from database. Nếu chỗ này không có phần đó, bạn chọn option tương tự, dịch ra tiếng Việt nôm na như gieo mã nguồn từ cơ sở dữ liệu.
lap-trinh-web-asp.net-mvc-6_77.png 
Tiếp theo, trong cửa sổ kết nối tới Database, chọn nút New Connection… và đợi một chút cửa sổ Choose Data Source hiện ra, bạn chọn Microsoft SQL Server (Client). Sau đó, chọn server và cơ sở dữ liệu bạn muốn gieo mã nguồn.
 lap-trinh-web-asp.net-mvc-6_78.png
Về cơ sở dữ liệu tên là TutorialMVC với 2 bảng:
 lap-trinh-web-asp.net-mvc-6_79.png
lap-trinh-web-asp.net-mvc-6_80.png 
Category(CategoryID, CategoryName)
Link(LinkID, LinkName, LinkDescription, CategoryID)
Mỗi liên kết (Link) có tên, mô tả liên kết và thuộc về 1 danh mục (Category). Tương tự, mỗi danh mục có tên danh mục và chứa nhiều liên kết.
Tiếp theo, bạn chọn tên chuỗi kết nối (ConnectionString) trong Web.Config tên là TutorialMVCEntities và nhấn Next.
Tiếp theo, bạn chọn hai bảng Link và Category để gieo mã nguồn như hình. Cuối cùng, nhấn Finish để Entity Framework gieo mô hình mã nguồn vậy là xong.
lap-trinh-web-asp.net-mvc-6_81.png 
Sau khi EF gieo xong mã nguồn mô hình, bạn mở Model ra xem thấy cấu trúc thư mục đã hiện các lớp mã nguồn mới như sau.
 lap-trinh-web-asp.net-mvc-6_82.png
6.2. Thay đổi cấu trúc database
Bạn có thể thoải mái thay đổi cấu trúc các bảng, thuộc tính và dữ liệu trong database. Mỗi lần thay đổi thay vì gieo lại mô hình bạn có thể dùng chức năng cập nhật mô hình trong dự án. Chọn tập tin Models/Model.edmx, sau đó mở tập tin này ra.
Chọn chuột lên vùng trống ở giao diện mô hình khi mở tập tin Model.edmx, chọn chuột phải, chọn Update model from Database…
Sau đó, chọn chế độ Refresh dành cho các bảng đã thêm vào mô hình hoặc Add dành cho các bảng mới. Sau khi thao tác xong thì chọn Finish.
Vậy là xong về cách cập nhật mô hình. Trong trường hợp có lỗi phát sinh mà bạn không thể sửa được, cách tốt nhất là xóa toàn bộ nội dung trong thư mục Models và gieo lại mô hình.

Phần tiếp theo chúng ta sẽ nghiên cứu các chuỗi kết nối cơ sở dữ liệu(connection strings)

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML