#Notes: Giữa code first với database first có gì khác nhau?

 Code First:

Viết các class Model bằng code C# và generate Database từ class Model.

Ưu điểm:
- Rất phổ biến (vì các lập trình viên thường không thích thiết kế DB, nhưng thích thiết kế class)
- Kiểm soát hoàn toàn code model, thêm xóa sửa thuộc tính vô cùng dễ dàng
- Không phải nặng đầu suy nghĩ về DB. Đối với cách tiếp cận này, DB chỉ là cái “cục” data, lôi ra xài thôi
- Có thể version control Database

Nhược điểm
- Các thay đổi cấu trúc trực tiếp trên DB sẽ mất
- Khó kiểm soát những column sẽ tạo trên Db
- Hơi khó khi kết hợp với Db có sẵn

Database First:
Generate Model từ Database có sẵn và các class model sẽ ko được phép chỉnh sửa vì database không đổi.

Ưu điểm:
- Ít phổ biến hơn
- DB có thể được develop riêng
- Dùng được DB có sẵn
- Entity Framework sẽ tạo ra các Entity class cho bạn

Nhược điểm
- Không thể thay đổi code đã được Generate
- Khó khăn khi muốn thêm các DataAttribute và DisplayAttribute cho các class model
- Khó khăn khi muốn biểu diễn các kiểu quan hệ cha con của class
- Mỗi lần thay đổi cấu trúc DB, bạn sẽ phải update lại mapping và model để phản ánh sự thay đổi đó

Share:

0 nhận xét