Sunday 2 December 2018

Database first là gì? Có nên sử dụng?

1. Database first

Đây là mô hình truyền thống và lâu đời nhất mà ai cũng quen, đó chính là tạo database trước sau đó sẽ tạo bằng tay hoặc sinh tự động các class tương ứng với mỗi thực thể trong database
Ưu điểm

  • Dễ dàng, quen thuộc với hầu hết tất cả mọi người
  • Code tự động sinh ra dựa vào các bảng trong database
  • Phù hợp cho các ứng dụng lớn
  • Không quản lý được version của database
  • Bất tiện khi làm việc theo nhóm, cả nhóm thường phải chung 1 server để database thống nhất cho cả team

Nhược điểm

  • Không quản lý được version của database
  • Bất tiện khi làm việc theo nhóm, cả nhóm thường phải chung 1 server để database thống nhất cho cả team

2.Database First là gì?

Là thành phần trung gian giữa ứng dụng và database, Entity Data Model (EDM) giúp tạo liên kết và mô tả giữa nguồn dữ liệu vật lý và các đối tượng bussiness (hay object layer) trong ứng dụng. Dựa vào sự lựa chọn thành phần nào sẽ được tạo ra trước, một ứng dụng Entity Framework (EF) có thể sử dụng 1 trong 3 cách tiếp cận: Database First, Model First và Code First.

3.Áp dụng

Sau đây mình hướng dẫn các bạn tạo database first: Sql server manager của mình là bản 2017 nhé.

Bước 1: Các ban mở sql server manager lên,click chuột phải vào Database chọn New Database rồi nhâp tên database bạn muốn đặt, đồng thời trong Visual studio bạn tạo luôn 1 project nhé.
    

Ảnh minh họa ( 1.1 )
Bước 2: Sau đó các bạn click chuột phải vào database của mình rồi chuột phải vào Tables
 rồi chọn New Tables sau đó các bạn nhập các trường thích hợp cho bảng của mình rồi nhấn tổ hợp phím CTRL + S  để lưu rồi bạn nhập tên bảng.

Ảnh minh họa ( 1.2 ) 
         
Bước 3: Các bạn vào Visual studio click chuột phải vào project rồi chọn Add -> New Item -> Visual C# -> Data rồi chọn ADO.NET Entity Data Model và đặt tên cho nó rồi bạn nhấn Add
 để thêm mới, sau đó sẽ hiện ra bảng như hình ở dưới



Ảnh minh họa (1.3)
rồi các bạn nhân Next -> rồi bạn Click vào New Connection sẽ hiện ra bảng sau:


Ảnh minh họa (1.4)

Rồi ở ô refresh bạn điền tên sql của mình vào đó rồi nhấn Ok -> sau đó bạn nhập tên entity rồi nhấn Next 2 lần


Ảnh minh họa (1.5)

sau đó bạn tích vào Tables rồi đặt tên Model NameSpace rồi nhấn Finish



Ảnh minh họa ( 1.6 )


Như vậy là xong phần tạo, bây giờ các bạn có thể tạo controller và code rồi đấy ^^




Các bạn có thể tham khảo thêm ở đây GIT

4.Phân tích Database-First

Sau đây tôi sẽ cho các bạn biết về ưu nhược điểm của database-first

Ưu Điểm.
  • Dễ dàng, quen thuộc với hầu hết tất cả mọi người
  • Code tự động sinh ra dựa vào các bảng trong database
  • Phù hợp cho các ứng dụng lớn.


Nhược điểm.
  • Không quản lý được version của database
  • Bất tiện khi làm việc theo nhóm, cả nhóm thường phải chung 1 server để database thống nhất cho cả team

5.Đánh giá Database-First


Như vậy qua ví dụ thì mình rút ra được bài học: Database First là một mô hình tuyệt vời, giúp chúng ta tối giản lượng công việc lớn khi tạo database sẽ giúp cho  project của ta tạo ra một Model với đầy đủ tính năng.

No comments:

Post a Comment