Entity framework là gì? khi nào sử dụng entity framework
Việc viết code và quản lý dữ liệu trong ADO .Net đôi khi trở nên tẻ nhạt và nhàm chán. Vì vậy, Microsoft đã tạo ra một thư viện hỗ trợ gọi là “Entity Framework” để tự động hóa các tác vụ liên quan đến cơ sở dữ liệu, giúp bạn xây dựng ứng dụng dễ dàng hơn. Hãy cùng tìm hiểu về Entity Framework là gì nhé.
Entity Framework là gì?
Entity Framework là một framework ORM (Object Relational Mapper) mã nguồn mở, được Microsoft phát triển và hỗ trợ. Nó là một phần của .NET Framework và được sử dụng để tương tác giữa các ứng dụng trên nền tảng .NET với cơ sở dữ liệu quan hệ. Entity Framework 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ệ.
Một định nghĩa khác về Entity Framework:
Entity Framework là một khung ORM (Object Relational Mapper) mã nguồn mở được Microsoft hỗ trợ cho các ứng dụng .NET. Đây là một phần của .NET Framework và là một thư viện mã nguồn mở.
Lưu ý: ORM là 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 trong một cơ sở dữ liệu quan hệ.
Entity Framework giúp nhà phát triển web tương tác với cơ sở dữ liệu 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 Entity Framework là giúp lập trình viên giảm thiểu việc viết mã để 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 với sự hỗ trợ đông đảo từ cộng đồng người dùng.
Lịch sử ra đời
Entity Framework được ra mắt vào năm 2008. Nhờ sự ra đời của nó, việc truy vấn cơ sở dữ liệu quan hệ trở nên đơn giản hơn, dễ học hơn và giúp giảm 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 (core) của EF
EF Core 2.0: tháng 8 năm 2017 .NET Core 2.0, VS 2017
EF Core 1.1: tháng 11 năm 2016 .NET Core 1.1
EF Core 1.0: tháng 6 năm 2016 .NET Core 1.0
Tại sao lại sử dụng Entity Framework?
Việc sử dụng Entity Framework mang lại các 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, điều này giúp bạn không phải viết mã SQL.
- Việc cập nhật các class và các command dễ dàng khi cơ sở dữ liệu thay đổi, giúp tiết kiệm thời gian đáng kể.
- Entity Framework tự động tạo ra các class và command tương ứng cho việc truy vấn, chèn, cập nhật, xóa 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 lập trình viên tiết kiệm thời gian viết mã để làm việ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ả qua hình sau:

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ó không phụ thuộc vào thiết kế bảng trong cơ sở dữ liệu của bạn.
- Mapping: Chứa thông tin về cách Conceptual Model kết nối với Storage Model.
- Storage Model: Là mô hình thiết kế cơ sở dữ liệu bao gồm bảng, views, stored procedures và các mối quan hệ và khóa.
LINQ to Entities:
LINQ to Entities là ngôn ngữ truy vấn được sử dụng để viết các truy vấn đến các đối tượng trong model. Nó trả về các thực thể được xác định bên trong Conceptual Model.
Entity SQL:
Entity SQL 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 chuyển đổi dữ liệu trả về từ một entity client data provider thành một cấu trúc đối tượng của entity.
Entity Client Data Provider:
Entity Client Data Provider chuyển đổi truy vấn LINQ to Entities hoặc các truy vấn Entity SQL thành truy vấn SQL. Nó hiểu được cơ sở dữ liệu cục bộ 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:
ADO.Net Data Provider là thành phần giao tiếp với cơ sở dữ liệu bằng cách sử dụng chuẩn ADO.Net.
Những 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ó làm việc với bất kỳ cơ sở dữ liệu quan hệ nào sử dụng 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ở.
- Entity Framework là một sản phẩm của Microsoft.
- EF cho phép tạo các câu lệnh thêm, xóa, cập nhật.
- Theo dõi các thay đổi của các đối tượng trong bộ nhớ.
Các tình huống sử dụng Entity Framework
Entity Framework rất hữu ích trong 3 tình huống sau:
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 làm các phần khác của ứng dụng.

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

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

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

2. Cài đặt Entity Framework
Trong mục Solution Explorer, chuột phải lên project -> chọn Manage NuGet Packages…

Click Entity Framework -> chọn Install

Ấn Ok để cài đặt.

Sau đó bạn ấn Chọn I Accept.
Khi cài đặt thành công, sẽ hiển thị thông báo này ở visual

3. Chuẩn bị cơ sở dữ liệu
Mở SQL Server Management Studio -> kết nối đến server

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

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

4. Sử dụng Entity Framework
Tạo ADO.NET Entity Data Model
Trong Solution Explorer, chuột phải lên project -> chọn Add -> chọn New Item…

Chọn Visual C# Items -> chọn ADO.NET Entity Data Model -> nhập DatabaseFirstModel -> chọn Add

Chọn EF Designer from database -> chọn Next

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.

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

Chọn Next

Chọn bảng và chọn Finish

Xong, ấn Ok để hoàn thành.
Kết quả sau khi hoàn thành:

Bạn cần lưu DatabaseFirstModel.edmx trước khi viết code.
5. Viết code:
Mở file Program.cs và thêm mã code như sau:

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

Chạy chương trình:
Kết quả:

Cảm ơn bạn đã đọc 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 để nhận ưu đãi giảm tới 40%: [link]
Bài viết cùng chủ đề:
- .NET Framework là gì? .NET Framework được sử dụng để làm gì, hướng dẫn cơ bản?