CODE FIRST IN ASP.NET MVC
I, Biết +Hiểu:
+ khái niệm: Code first là phương pháp tạo các class Model sau đó phát sinh ra database. Đây là cách thức phát triển ứng dụng nhanh khi chưa có database. Bằng cách sử dụng code first bạn cũng có thể tạo dữ liệu ban đầu cho database của mình.
+ Đối với mô hình code first, bạn sẽ tạo các entity trong code C# sau đó khi chạy ứng dụng thì database sẽ được tạo ra, dựa vào những khai báo và định nghĩa của bạn trong các class entity.
II, phân tích và áp dụng:
+ tạo project Asp.net mvc :
-Trong Views \ Home \ Index.cshtml, thay thế nội dung của tệp bằng đoạn mã sau để thay thế văn bản về ASP.NET và MVC bằng văn bản về ứng dụng này:
-Nhấn Ctrl + F5 để chạy trang web. Bạn thấy trang chủ với menu chính.
+ tạo data model :
- tạo class trong Model với các trường sau:
*class: Student:
*class:Enrollment:
*class: Course:
+ tạo thư mục mới có tên là context và thêm code như sau
+tạo một mục mới có và thêm code như sau:
+ tạo controller và view :
+ thêm code : private SchoolContext db = new SchoolContext(); vào hàm .
+ trong index thêm như sau :
public ViewResult Index() { return View(db.Students.ToList()); }
+ chuột phải hàm index + add view :
+ chạy thử ứng dụng của bạn :
- tạo class trong Model với các trường sau:
*class: Student:
*class:Enrollment:
*class: Course:
+ tạo thư mục mới có tên là context và thêm code như sau
+tạo một mục mới có và thêm code như sau:
+ tạo controller và view :
+ thêm code : private SchoolContext db = new SchoolContext(); vào hàm .
+ trong index thêm như sau :
public ViewResult Index() { return View(db.Students.ToList()); }
+ chuột phải hàm index + add view :
+ chạy thử ứng dụng của bạn :
III, Tổng quát:
các câu lệnh update databse khi có thay đổi.
- Enable-migration
- Add-migration tên migration
- update-database
Ưu điểm:
- Quản lý được version của database
- Chỉ định rõ các mối quan hệ giữa các thực thể, cái gì cần khi eager loaded, cái gì cần serialized, cái gì không
- Rất phù hợp cho các ứng dụng nhỏ
- Thuận tiện khi làm việc theo nhóm, mỗi cá nhân có thể chạy 1 database độc lập trên máy tính của mình, ko cần server trung gian. Dữ liệu test do mình tự tạo ra nên không ảnh hưởng tới người khác
Nhược điểm:
- Bạn phải viết mọi thứ liên quan tới database vào trong code, bao gồm cả store procedure
- Không phù hợp với các ứng dụng chứa dữ liệu quan trọng.
bài demo :https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/Student
Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^ .