Entity Framework hỗ trợ 3 phương pháp tiếp cận phát triển khác nhau để sử dụng Entity Framework trong ứng dụng của bạn.

I. Code First:

Với phương pháp tiếp cận Code First bạn hoàn toàn tránh làm việc với visual model designer (EDMX). Bạn sẽ viết các lớp POCO của bạn trước sau đó tạo CSDL từ những lớp POCO này.

Các nhà phát triển theo con đường của nguyên lý Domain-Driven Design (DDD), thích bắt đầu bằng cách viết mã các lớp domain và sau đó khởi tạo CSDL yêu cầu để tiếp tục dữ liệu của họ.

code-first in entity framework

II. Model First:

Với phương pháp tiếp cận Model First, bạn tạo các Entities, quan hệ và những phân cấp kế thừa trực tiếp trên mặt thiết kế của EDMX và sau đó khởi tạo CSDL từ model của bạn.

Như vậy với phương pháp tiếp cận Model First thêm mới ADO.NET Entity Data Model và chọn Empty EF Designer model trong Entity Data Model Wizard.

Entity Framework Model first

Bạn có thể tạo một thực thực thể , liên kết và kế thừa trên một vùng thiết kế trống bằng cách click chuột phải vào mặt thiết kế-> Add New -> Entity.

Entity Framework Model first

Ở hộp thoại Add Entity nhập tên của thực thể. Bạn cũng có thể đổi những cài đặt mặc định cho Entity Set and Key Property. Chúng ta sẽ giữ những cài đặt mặc định và click OK để khởi tạo một thực thể.

Entity Framework Model first

Bạn cũng có thể thêm những thuộc tính trong khi khởi tạo thực thể bằng cách click chuột phải trên thực thể – > Add New -> Scalar property.

Entity Framework Model first

Nhập tên của thuộc tính scalar như bên dưới.

Entity Framework Model first

Với cách này bạn có thể thêm những thực thể và liên kết khác nhau sử dụng toolbox.

Entity Framework Model first

Sau khi tạo những thực thể, liên kết và thừa kế cần thiết ở mặt thiết kế của một model trống, bạn có thể sử dụng ‘Generate database from model’ trên menu ngữ cảnh của vùng thiết kế để khởi tạo DDL script.

Entity Framework Model first

Thao tác này sẽ mở Generate Database Wizard. Bạn có thể lựa chọn CSDL sẵn có hoặc tại một kết nối mới bằng cách click trên New Connection.. lựa chọn database server và nhập tên của CSDL để tạo rồi click OK. Nó sẽ hỏi bạn để xác nhận việc tạo một CSDL mới. Click Yes để tạo CSDL.

Entity Framework Model first

Click Next để khởi tạo DDL cho DB model như dưới đây.

Entity Framework Model first

Nó sẽ thêm file ModelName.edmx.sql vào project của bạn. Bạn có thể thực thi DDL scripts trong Visual Studio bằng cách mở file .sql -> right click -> Execute.

Giờ bạn có thể khởi tạo lớp context và những thực thể bằng cách click chuột phải trên vùng thiết kế và chọn Add Code Generation Item..

Entity Framework Model first

Nó sẽ thêm (ModelName).Context.tt và (ModelName).tt với lớp context và những lớp thực thể như bên dưới.

Entity Framework Model first

Như vậy theo cách này bạn có thể thiết kế DB model của bạn và sau đó khởi tạo CSDL và các lớp dựa trên model. Phương pháp này gọi là phương pháp tiếp cận Model-First/

III. Database First:

Chúng ta đã thấy phương pháp tiếp cận này trong phần Tạo Entity Data Model mà ở đó chúng ta tạo EDM, context và các lớp thực thể từ một CSDL sẵn có. Như vậy khi bạn khởi tạo EDMX từ một CSDL sẵn có thì nó là một phương pháp tiếp cận Database First.

Entity Framework database first

Entity Data Model có thể cập nhật bất cứ khi nào CSDL schema thay đổi. Phương pháp tiếp cận cũng hỗ trợ stored procedure, view, …

Những bài hướng dẫn cơ bản này sẽ sử dụng phương pháp tiếp cận Database-First.

Chúng ta sẽ học cáh làm thế nào để chọn phương pháp phát triển tiếp cận EF phù hợp trong phần tới.

IV. Chọn phương pháp tiếp cận với Entity Framework:

Chúng ta đã nhìn thấy những phương pháp tiếp cận ở những mục trên. Vậy giờ bạn phải quyết định sử dụng phương pháp tiếp cận nào cho ứng dụng của bạn. Hình sau minh họa cho cây quyết định

Choose Entity Framework modling

Như hình minh họa trên nếu bạn đã có sẵn một ứng dụng với những lớp domain thì bạn có thể sử dụng phương pháp tiếp cận Code-First bởi vì bạn có thể tạo một CSDL từ những lớp sẵn có trong phương pháp tiếp cận này. Nếu bạn đã có sẵn một CSDL thì bạn có thể tạo một EDM từ một CSDL có sẵn bằng phương pháp tiếp cận Database-First. Nếu bạn không có sẵn một CSDL hoặc những lớp domain thì bạn có thể chọn thiết kế DB model của bạn trên visual designer rồi tiếp tục bằng phương pháp tiếp cận Model-First.

Nguồn: http://www.entityframeworktutorial.net/

Advertisements