Entity Framework là gì? Lợi ích và trường hợp nên sử dụng của Entity Framework

entity-framework-la-gi

Framework là khái niệm được sử dụng rất phổ biến trong lĩnh vực công nghệ thông tin. Để tự động hóa các hoạt động liên quan đến cơ sở dữ liệu (CSDL) nhằm giúp bạn xây dựng ứng dụng đơn giản hơn, Entity Framework là một lựa chọn lý tưởng. Vậy cụ thể Entity Framework là gì? Trong bài viết hôm nay, Tino Group sẽ cùng bạn tìm hiểu lợi ích và trường hợp sử dụng của Entity Framework.

Tổng quan về Entity Framework

Entity Framework là gì?

Entity Framework (EF) là một thư viện ORM được phát triển từ năm 2008 bởi Microsoft. Framework này tra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng trên nền tảng .NET với các CSDL quan hệ.

ORM là một tập hợp công nghệ có thể làm việc với các hệ quản trị CSDL quan hệ từ các ngôn ngữ lập trình hướng đối tượng mà không phải trực tiếp để xử lý truy vấn SQL.

Entity Framework sẽ giúp các nhà phát triển web tương tác với CSDL theo phương pháp hướng đối tượng với ít code hơn so với các ứng dụng truyền thống. Ưu điểm nổi bật nhất của ứng dụng này là giúp lập trình viên giảm thiểu việc lập trình mã nguồn để thực hiện truy cập và tương tác với CSDL.

Lịch sử phát triển của Entity Framework

Entity Framework được Microsoft giới thiệu từ năm 2008. Framework này ra đời cùng với .NET 3.5 và phiên bản hiện tại là 6.0.

Những điểm nổi bật của Entity Framework

Tại sao lập trình viên nên sử dụng Entity Framework?

Những lợi ích mà Entity Framework mang lại như sau:

Cấu trúc của Entity Framework

EDM (Entity Data Model)

EDM gồm có 3 phần :

LINQ to Entities và Entity SQL

Đây ngôn ngữ truy vấn được sử dụng để viết các truy vấn tới Object Model và trả về các Entity được định nghĩa bên trong Conceptual Model.

Entity SQL cũng là một ngôn ngữ truy vấn khác gần giống với LINQ to Entities.

Object Service

Object Service có trách nhiệm trong việc cụ thể hóa quá trình chuyển đổi dữ liệu trả về từ một Entity Client Data Provider đến một Entity Object Structure.

Entity Client Data Provider

Thành phần này chịu trách nhiệm tương tác với Data Provider của ADO.NET. Entity Client Data Provider sẽ chuyển đổi truy vấn LINQ to Entities hay là Entity SQL về để truy vấn SQL.

Ngoài ra, Entity Client Data Provider còn thực hiện chuyển kết quả thu được từ truy vấn SQL về dạng trung gian sau đó chuyển cho Object Services xử lý.

ADO.Net Data Provider

Thực hiện giao tiếp với CSDL bằng cách sử dụng chuẩn ADO.Net.

Các trường hợp cần sử dụng Entity Framework

Entity Framework được ứng dụng phổ biến trong các trường hợp sau:

Cách tạo project và cài đặt Entity Framework trong C#

Tạo project C#

Đầu tiên, bạn hãy mở Visual Studio và tạo một project.

Cài đặt Entity Framework

Trong mục Solution Explorer, bạn chuột phải vào project -> chọn Manage NuGet Packages…

Tiếp theo, bạn nhấn vào Entity Framework -> chọn Install -> nhấn OK để cài đặt.


Chuẩn bị CSDL

Bước 1: Đầu tiên, bạn mở SQL Server Management Studio -> kết nối đến server.

Bước 2: Tiếp theo, tạo một CSDL tên EntityDB

Bước 3: Trong CSDL đó, bạn hãy tạo một bảng tên Student gồm có 4 cột là StudentID, StudentName, StudentGender và Address.

Sử dụng Entity Framework

Tạo ADO.NET Entity Data Model

Bước 1: Trong Solution Explorer, bạn chuột phải vào project -> chọn Add -> New Item…

Bước 2: Tiếp theo, chọn Visual C# Items rồi chọn ADO.NET Entity Data Model -> nhập Database First Model -> nhấn Add.

Bước 3:
Chọn EF Designer from database -> nhấn Next.

Bước 4: Chọn kết nối hiện có hoặc chọn New Connection để thiết lập một kết nối mới.

Nếu chọn New Connection… -> bạn chọn tên máy chủ (Server name) rồi chọn cơ sở dữ liệu (Database name) -> chọn OK.

Bước 5: Chọn Next -> Chọn Table và chọn Finish

Kết quả:

Lưu ý: Bạn cần lưu DatabaseFirstModel.edmx trước khi viết code.

Viết code

Mở Program.cs và nhập code như hình bên dưới:

Thêm dữ liệu vào SQL:

Kết quả:

Trên đây là một số thông tin cơ bản về Entity Framework – một Framework rất hữu ích để lập trình viên truy vấn CSDL. Hy vọng bài viết đã cung cấp cho bạn một kiến thức mới trong lĩnh vực lập trình. Chúc bạn sử dụng hiệu quả nhé!

Những câu hỏi thường gặp

Có những Framework nào tương tự Entity Framework?

Một số giải pháp có thể thay thế cho Entity Framework là: NHibernate, Hibernate, SQLAlchemy, Sequelize, Dapper, Doctrine 2, MyBatis,..

Tìm hiểu thêm về Entity Framework ở đâu?

Để tìm hiểu sâu hơn về cách sử dụng Entity Framework, bạn hãy truy cập vào: https://learn.microsoft.com/en-us/ef/

Visual Studio có miễn phí không?

Visual Studio là một phần mềm miễn phí do Microsoft cung cấp để các nhà phát triển có thể tạo ứng dụng cho Android, iOS, Windows và website.

Có thể sử dụng Entity Framework trong Visual Studio Code?

Visual Studio Code cũng có hỗ trợ Entity Framework. Bạn có thể truy cập vào đây để tham khảo cách viết ứng dụng với Entity Framework và Visual Studio Code.

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

Exit mobile version