Entity Framework (tiết tắt là EF), là một trình ánh xạ cơ sở dữ liệu đối tượng mã nguồn mở trên .NET.NET Framework, bản đầu tiên được xây dựng cho.NET Framework, sau khi.NET Core ra đời, Entity Framework được viết lại và đổi tên thành Entiy Framework Core. Entity Framework hỗ trợ các truy vấn LINQ, theo dõi thay đổi, thực hiện thao tác cập nhật cập nhật và di cấu trúc cơ cở dữ liệu. EF hoạt động với nhiều cơ sở dữ liệu khác nhau bao gồm cơ sở dữ liệu SQL (cài tại chỗ hoặc trên Azure), SQLite, MySQL, PostgreSQL và Azure Cosmos DB.[1]

Entity Framework
Thiết kế bởiMicrosoft
Phát triển bởi.NET Foundation
Phát hành lần đầu11 tháng 8 năm 2008; 15 năm trước (2008-08-11)
Phiên bản ổn định
Entity Framework 6: v6.4.4
Entity Framework Core: v5.0.0
Kho mã nguồngithub.com/dotnet/ef6
github.com/dotnet/efcore
Viết bằngC#
Nền tảng.NET Framework,
.NET Core
Giấy phépApache License 2.0
Websitemsdn.microsoft.com/en-us/data/ef.aspx

Lịch sử sửa

Bạn đầu, Entity Framework được tích hợp sẵn trong nền tảng.NET Framework cho đến phiên bản Entity Framework 5.0.

Bắt đầu từ phiên bản Entity Framework 6.0, nó được tách ra trở thành dự án mềm độc lập mã nguồn mở theo giấy phép Apache License và được quản lý trên GitHub.[2]

Khi Microsoft phát triển phần mềm nguồn mở đa nền tảng và đưa.NET lên Linux, OSX và các nơi khác, Entity Framework được viết lại hoàn toàn. Vào ngày 27 tháng 6 năm 2016, bản mới của Entity Framework được phát hành dưới tên Entity Framework Core 1.0, cùng với ASP.NET Core 1.0 và.NET Core 1.0.[3] Ban đầu nó được đặt tên là Entity Framework 7, nhưng sau đó được đổi tên để nhằm làm nổi bật rằng nó là một bản viết lại hoàn chỉnh chứ không phải là một bản nâng cấp gia tăng và nó không thay thế Entity Framework 6.[4]

Entity Framework Core 1.0 được cấp phép theo Giấy phép Apache v2 và đang được xây dựng hoàn toàn mở trên GitHub. Mặc dù Entity Framework Core 1.0 chia sẻ một số điểm tương đồng về khái niệm với các phiên bản trước của Entity Framework, nhưng nó là phần mềm hoàn toàn mới được thiết kế để hiệu quả hơn, mạnh mẽ, linh hoạt và có thể mở rộng, chạy được trên Windows, Linux và OSX và sẽ hỗ trợ cả các hệ quản trị dữ liệu quan hệ và NOSQL.[5]

Mặc dù Entity Framework Core cung cấp thêm nhiều tính năng mới mà không được triển khai trong Entity Framework 6, tuy nhiên không phải tất cả các tính năng của Entity Framework 6 hiện đều được triển khai trong Entity Framework Core.[6]

Ngày 8 tháng 11 năm 2022, Entity Framework Core 7.0 (EF Core 7) được phát hành và bổ sung các tính năng như các trường dạng JSON và phương thức cập nhật hàng loạt (bulk update).

Cơ sở dữ liệu hỗ trợ sửa

Entity Framework hỗ trợ nhiều loại cơ sở dữ liệu khác nhau bao gồm hầu hết các hệ quản trị cơ sở dữ liệu quan hệ phổ biến, đặc biệt Entity Framework Core còn hỗ trợ cả hệ quản trị cơ sở dữ liệu NOSQL là Cosmos DB.[7]

Tính năng EF6.4 EF Core
SQL Server 1.0
MySQL 1.0
PostgreSQL 1.0
Oracle 1.0
SQLite 1.0
SQL Server Compact 1.0 (**)
DB2 1.0
Firebird 2.0
Jet (Microsoft Access) 2.0 (**)
Azure Cosmos DB 3.0
In-memory (phụ vụ kiểm thử) 1.0

** Cơ sở dữ liệu SQL Server Compact và Jet providers chỉ chạy được với.NET Framework (không hỗ trợ trên.NET Core).

Xem thêm sửa

Tham khảo sửa

  1. ^ wadepickett. “Entity Framework documentation”. docs.microsoft.com (bằng tiếng Anh). Lưu trữ bản gốc ngày 13 tháng 1 năm 2022. Truy cập ngày 12 tháng 1 năm 2022.
  2. ^ Entity Framework 6, .NET Platform, ngày 12 tháng 1 năm 2022, Bản gốc lưu trữ ngày 14 tháng 1 năm 2022, truy cập ngày 12 tháng 1 năm 2022
  3. ^ “Announcing Entity Framework Core 1.0”. .NET Blog (bằng tiếng Anh). 27 tháng 6 năm 2016. Lưu trữ bản gốc ngày 13 tháng 1 năm 2022. Truy cập ngày 13 tháng 1 năm 2022.
  4. ^ “ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and.NET Core 1.0”. www.hanselman.com. Lưu trữ bản gốc ngày 13 tháng 1 năm 2022. Truy cập ngày 13 tháng 1 năm 2022.
  5. ^ “EF7 - New Platforms, New Data Stores - ADO.NET Blog - Site Home - MSDN Blogs”. web.archive.org. 29 tháng 9 năm 2015. Lưu trữ bản gốc ngày 29 tháng 9 năm 2015. Truy cập ngày 13 tháng 1 năm 2022.Quản lý CS1: bot: trạng thái URL ban đầu không rõ (liên kết)
  6. ^ ajcvickers. “Compare EF6 and EF Core”. docs.microsoft.com (bằng tiếng Anh). Lưu trữ bản gốc ngày 21 tháng 1 năm 2022. Truy cập ngày 13 tháng 1 năm 2022.
  7. ^ ajcvickers. “Database Providers - EF Core”. docs.microsoft.com (bằng tiếng Anh). Lưu trữ bản gốc ngày 14 tháng 1 năm 2022. Truy cập ngày 12 tháng 1 năm 2022.