Entity framework là gì? khi nào sử dụng entity framework

Việc viết mã và quản lý mã ADO .Net để truy cập dữ liệu là một công việc tẻ nhạt và nhàm chán. Chính vì vậy, Microsoft đã phát triển một framework O/RM (Object-Relational Mapping) có tên gọi là “Entity Framework” để tự động hóa các hoạt động liên quan đến cơ sở dữ liệu, giúp bạn xây dựng ứng dụng đơn giản hơn. Hãy cùng tìm hiểu về Entity Framework là gì.

Entity Framework là gì?

Entity Framework ra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng .NET với cơ sở dữ liệu quan hệ. Nó là công cụ giúp ánh xạ giữa các đối tượng trong ứng dụng của bạn với các bảng trong cơ sở dữ liệu quan hệ.

Entity Framework có thể được định nghĩa là một khung O/RM (Object-Relational Mapper) mã nguồn mở được Microsoft hỗ trợ cho các ứng dụng .NET. Nó là một phần của .NET Framework và là một Open source ORM Framework.

Lưu ý: ORM là một công cụ tự động tạo ra các đối tượng trong ứng dụng từ các bảng, views và store procedures của một cơ sở dữ liệu quan hệ.

Entity Framework giúp các nhà phát triển web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng với ít mã hơn so với các ứng dụng truyền thống. Lợi ích lớn nhất của nó là giúp lập trình viên giảm thiểu việc viết mã để thực hiện truy cập và tương tác với cơ sở dữ liệu.

Hiện nay, Entity Framework là một framework mạnh mẽ để phát triển ứng dụng web, được sử dụng rộng rãi và có sự hỗ trợ đông đảo từ cộng đồng người dùng.

Lịch sử ra đời

Entity Framework được ra mắt lần đầu vào năm 2008. Nhờ sự xuất hiện của nó, việc truy xuất cơ sở dữ liệu quan hệ trở nên đơn giản và dễ học hơn, giúp giảm thiểu thời gian phát triển dự án đáng kể.

Lịch sử phiên bản EF 6

– EF 6 (2013) .NET 4.0 & .NET 4.5, VS 2012

– EF 5 (2012) .NET 4.0, VS 2012

– EF 4.3 (2011) .NET 4.0, VS 2012

– EF 4.0 (2010) .NET 4.0, VS 2010

– EF 1.0 (hoặc 3.5) (2008) .NET 3.5 SP1, VS 2008

Lịch sử phiên bản lõi của EF

– EF Core 2.0 (tháng 8 năm 2017) .NET Core 2.0, VS 2017

– Lõi EF 1.1 (tháng 11 năm 2016) .NET Lõi 1.1

– EF Core 1.0 (tháng 6 năm 2016) .NET Core 1.0

Tại sao nên sử dụng Entity Framework?

Việc sử dụng Entity Framework đem lại những lợi ích sau:

  • Nếu bạn thực hiện truy vấn dữ liệu, bạn có thể sử dụng Linq to Entities để thao tác với các đối tượng được sinh ra từ Entity Framework, nghĩa là bạn không cần phải viết mã SQL.
  • Việc cập nhật các class và câu lệnh dễ dàng mỗi khi có thay đổi trong cơ sở dữ liệu, giúp tiết kiệm thời gian đáng kể.
  • Entity Framework tự động tạo ra các class và câu lệnh tương ứng cho việc select, insert, update, delete dữ liệu từ cơ sở dữ liệu quan hệ.
  • Entity Framework tự động tạo ra các class để truy xuất cơ sở dữ liệu, giúp giảm thời gian viết mã để thao tác với cơ sở dữ liệu.

Cấu trúc của Entity Framework

Cấu trúc của Entity Framework được mô tả đơn giản qua hình sau:

cấu trúc entity framework
cấu trúc entity framework

EDM (Entity Data Model):

EDM bao gồm 3 phần:

  • Conceptual Model: Chứa các model class và các quan hệ của chúng. Nó độc lập với thiết kế bảng CSDL.
  • Mapping: Bao gồm thông tin về cách Conceptual model kết nối với Storage model.
  • Storage Model: Là database design model bao gồm các bảng, views, stored procedures và quan hệ và các khóa.

LINQ to Entities:

Là ngôn ngữ truy vấn được sử dụng để viết các truy vấn tới object model. Nó trả về các đối tượng được định nghĩa trong Conceptual model.

Entity SQL:

Đây là một ngôn ngữ truy vấn khác, tương tự như LINQ to Entities.

Object Service:

Object service có trách nhiệm trong việc chuyển đổi dữ liệu trả về từ một entity client data provider thành một entity object structure.

Entity Client Data Provider:

Nhiệm vụ chính của nó là chuyển đổi L2E (LINQ to Entities) hoặc các truy vấn Entity SQL thành một truy vấn SQL. Nó được hiểu bởi cơ sở dữ liệu cụ thể và giao tiếp với ADO.Net data provider để gửi và nhận dữ liệu từ cơ sở dữ liệu.

ADO.Net Data Provider:

Thực hiện việc giao tiếp với cơ sở dữ liệu bằng cách sử dụng chuẩn ADO.Net.

Các tính năng của Entity Framework

Một số tính năng đáng chú ý của Entity Framework:

  • Entity Framework hỗ trợ stored procedure.
  • Nó hoạt động với bất kỳ cơ sở dữ liệu quan hệ nào mà có hỗ trợ Entity Framework.
  • Entity Framework tạo truy vấn SQL từ LINQ to Entities.
  • Nó là một sản phẩm mã nguồn mở được phát triển bởi Microsoft.
  • Entity Framework cho phép tạo các câu lệnh thêm, xóa, cập nhật.
  • Nó theo dõi các thay đổi của các đối tượng trong bộ nhớ.

Trường hợp nào nên sử dụng Entity Framework?

Entity Framework rất hữu ích trong ba trường hợp sau:

1. Database First: Nếu bạn đã có một cơ sở dữ liệu hoặc muốn thiết kế cơ sở dữ liệu trước khi phát triển các phần khác của ứng dụng.

Database First entity framework
Database First entity framework

2. Code First: Nếu bạn muốn tập trung vào các domain class trước sau đó tạo cơ sở dữ liệu từ các domain class đó.

Code First entity framework
Code First entity framework

3. Model First: Nếu bạn muốn thiết kế schema của cơ sở dữ liệu trên visual designer trước sau đó tạo cơ sở dữ liệu và các class.

Model First entity framework
Model First entity framework

Hướng dẫn tạo project và cài đặt Entity Framework trong C#

1. Tạo project C#:

Mở Visual Studio, tạo một project mới.

tạo project c#
tạo project c#

2. Cài đặt Entity Framework

Trong Solution Explorer, chuột phải trên project, chọn “Manage NuGet Packages…”

Cài đặt Entity Framework
Cài đặt Entity Framework

Chọn “Entity Framework” và nhấp vào “Install”

setting entity framework
setting entity framework

Nhấn OK để tiến hành cài đặt.

cài đặt entity fw
cài đặt entity fw

Sau khi cài đặt thành công, sẽ hiển thị thông báo này trong Visual Studio.

setup entity framework done
setup entity framework done

3. Chuẩn bị cơ sở dữ liệu

Mở SQL Server Management Studio, kết nối đến máy chủ

tạo cơ sở dữ liệu
tạo cơ sở dữ liệu

Tạo một cơ sở dữ liệu có tên “EntityDB”

tạo entity database
tạo entity database

Trong cơ sở dữ liệu, tạo một bảng có tên “Student” gồm 4 cột: “StudentID”, “StudentName”, “StudentGender” và “Address”.

database entity student
database entity student

4. Sử dụng Entity Framework

Tạo ADO.NET Entity Data Model

Trong Solution Explorer, chuột phải trên project, chọn “Add”, chọn “New Item…”

ADO.NET Entity Data Model
ADO.NET Entity Data Model

Chọn “Visual C# Items”, chọn “ADO.NET Entity Data Model”, nhập “DatabaseFirstModel”, chọn “Add”

database first-model
database first-model

Chọn “EF Designer from database” và nhấn “Next”

connect entity db
connect entity db

Chọn kết nối hiện tại hoặc chọn “New Connection” để thiết lập một kết nối mới.

choose data connection
choose data connection

Trong trường hợp chọn “New Connection…”, chọn tên máy chủ (“Server name”), chọn cơ sở dữ liệu (“Database name”), nhấn “OK”

chọn db name
chọn db name

Nhấn “Next”

db connect end
db connect end

Chọn bảng và nhấn “Finish”

finish connect db
finish connect db

Sau khi hoàn thành, nhấn OK để lưu file “DatabaseFirstModel.edmx”.

5. Viết code:

Mở file Program.cs và nhập code sau:

viết code entity framework
viết code entity framework

Thêm dữ liệu vào cơ sở dữ liệu SQL

data entity framework

Chạy chương trình:

Kết quả

kết quả chạy chương trình entity
kết quả chạy chương trình entity

Cảm ơn các bạn đã theo dõi bài viết của tôi.

Tham khảo nguồn: https://giasutinhoc.vn/huong-dan-thuc-hanh/huong-dan-csharp/huong-dan-su-dung-entity-framework-trong-c/

Bạn có thể đăng ký khóa học lập trình tại đây để được giảm tới 40% phí tại đây

Bài viết cùng chủ đề:

  1. .NET Framework là gì? .NET Framework dùng để làm gì, hướng dẫn cơ bản?

Related Posts