Số 533 Nguyễn An Ninh
P. Nguyễn An Ninh - Tp. Vũng Tàu
096 3636 138
093 3636 138
infoweb@itvungtau.vn
sales@itvungtau.vn

Entity framework Là Gì? Kiến Thức Cơ Bản Về Entity framework

Entity framework Là Gì? Kiến Thức Cơ Bản Về Entity framework
5 1 vote

Entity Framework (EF) là một công nghệ quan trọng trong thế giới phát triển phần mềm, được sử dụng rộng rãi trong việc làm việc với cơ sở dữ liệu trong ứng dụng. Đối với những người mới bắt đầu hoặc có sự quan tâm về lĩnh vực này, việc hiểu rõ về Entity Framework là gì? và những kiến thức cơ bản liên quan đến nó là một bước quan trọng để tiến xa trong việc phát triển ứng dụng dựa trên dữ liệu.

Trong bài viết này, chúng ta sẽ khám phá sâu hơn về Entity Framework, từ việc định nghĩa cơ bản cho đến cách nó hoạt động và những lợi ích mà nó mang lại cho quá trình phát triển phần mềm. Bạn sẽ được tìm hiểu về cách Entity Framework giúp chúng ta tương tác với cơ sở dữ liệu một cách dễ dàng và hiệu quả hơn, cũng như cách sử dụng nó để thực hiện các thao tác cơ bản như thêm, sửa đổi và xóa dữ liệu.

Hãy cùng IT Vũng Tàu khám phá những kiến thức quan trọng về Entity Framework để bạn có thể tự tin hơn trong việc xây dựng các ứng dụng dựa trên cơ sở dữ liệu của mình.

Entity framework là gì?

Entity Framework (EF) là một công nghệ được phát triển bởi Microsoft, được sử dụng trong việc làm việc với cơ sở dữ liệu trong ứng dụng phát triển dựa trên nền tảng .NET. EF cung cấp một mô hình lập trình được gọi là ORM (Object-Relational Mapping) cho phép bạn làm việc với cơ sở dữ liệu bằng cách sử dụng các đối tượng và mã C# (hoặc VB.NET) thay vì sử dụng ngôn ngữ truy vấn SQL truyền thống.

Điều này có nghĩa là bạn có thể tương tác với cơ sở dữ liệu bằng cách thao tác với các đối tượng và thuộc tính trong mã nguồn của bạn, giúp giảm thiểu sự phụ thuộc vào ngôn ngữ SQL và tạo ra một lớp trừu tượng giữa ứng dụng của bạn và cơ sở dữ liệu.

Entity Framework cung cấp nhiều tính năng như:

  1. Mapping tự động: Entity Framework tự động ánh xạ các đối tượng của bạn vào các bảng trong cơ sở dữ liệu.
  2. Query LINQ: Bạn có thể sử dụng LINQ (Language-Integrated Query) để viết các truy vấn dữ liệu trong mã nguồn của mình một cách dễ đọc và dễ bảo trì.
  3. Quản lý thay đổi: Entity Framework giúp bạn quản lý thay đổi dữ liệu và tự động áp dụng chúng vào cơ sở dữ liệu.
  4. Tối ưu hóa dữ liệu: Nó cung cấp khả năng tối ưu hóa truy vấn để cải thiện hiệu suất.
  5. Hỗ trợ nhiều loại cơ sở dữ liệu: Entity Framework hỗ trợ nhiều hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, SQLite, và nhiều loại cơ sở dữ liệu khác.

Entity Framework giúp đơn giản hóa việc làm việc với cơ sở dữ liệu trong ứng dụng .NET, giúp bạn tập trung vào logic ứng dụng thay vì phải lo lắng về cách tương tác với cơ sở dữ liệu.

Entity framework Là Gì? Kiến Thức Cơ Bản Về Entity framework

Entity framework Là Gì? Kiến Thức Cơ Bản Về Entity framework

Xem thêm: TCP/IP Là Gì? Chức Năng Của Các Tầng Trong Mô Hình TCP/IP

Quá trình phát triển của Entity Framework

Entity Framework (EF) đã trải qua một quá trình phát triển dài hơn một thập kỷ, với nhiều phiên bản và cải tiến. Dưới đây là một tóm tắt về quá trình phát triển của Entity Framework:

  1. Entity Framework 1.0 (EF1) – 2008:
    • Phiên bản đầu tiên của Entity Framework được ra mắt với phiên bản .NET Framework 3.5.
    • EF1 đã nhận được sự quan tâm và hỗ trợ từ cộng đồng phát triển .NET nhưng gặp nhiều khó khăn và phản hồi tiêu cực về hiệu suất và tính năng.
  2. Entity Framework 4.0 (EF4) – 2010:
    • Phiên bản này được phát hành cùng với .NET Framework 4.0 và Visual Studio 2010.
    • EF4 đã đưa ra nhiều cải tiến quan trọng như hỗ trợ Model-First, Self-Tracking Entities, và hệ thống truy vấn LINQ được tối ưu hóa hơn.
  3. Entity Framework 4.1 (EF4.1) – 2011:
    • Phiên bản này giới thiệu Code-First, cho phép bạn định nghĩa mô hình dữ liệu bằng cách sử dụng mã C# thay vì sử dụng Designer hoặc EDMX.
  4. Entity Framework 5.0 (EF5) – 2012:
    • EF5 được cung cấp cùng với .NET Framework 4.5 và Visual Studio 2012.
    • Phiên bản này tập trung vào hiệu suất và tối ưu hóa truy vấn.
  5. Entity Framework 6.0 (EF6) – 2013:
    • EF6 tiếp tục tối ưu hóa hiệu suất và tính năng. Nó được công bố cùng với .NET Framework 4.5.1.
    • EF6 cung cấp hỗ trợ cho các tính năng mới như Code-First Migrations và Async/Await.
  6. Entity Framework Core (EF Core) – 2016:
    • Entity Framework Core (EF Core) là một phiên bản tái thiết của EF, được thiết kế lại từ đầu để hỗ trợ .NET Core và tích hợp với các hệ thống cơ sở dữ liệu không phụ thuộc vào SQL Server.
    • EF Core giới thiệu nhiều tính năng mới và cải tiến so với phiên bản EF trước đó, như hệ thống tùy chỉnh, hỗ trợ LINQ to Entities cải tiến, và hiệu suất cải thiện.

Từ đó, EF Core đã trải qua nhiều phiên bản và cải tiến, được tích hợp chặt chẽ với .NET Core và .NET 5, .NET 6, và các phiên bản sau này.

Entity Framework là một công nghệ quan trọng trong cộng đồng phát triển .NET và đã đưa ra nhiều sự cải thiện và tính năng quan trọng để giúp phát triển ứng dụng dựa trên cơ sở dữ liệu dễ dàng hơn và hiệu quả hơn.

Vì sao cần sử dụng Entity framework?

Có nhiều lý do mà bạn nên sử dụng Entity Framework trong phát triển ứng dụng dựa trên nền tảng .NET. Dưới đây là một số lý do quan trọng:

  1. Lập trình hướng đối tượng (OOP): Entity Framework cho phép bạn làm việc với cơ sở dữ liệu bằng cách sử dụng đối tượng và mã C# (hoặc VB.NET) thay vì truy vấn SQL truyền thống. Điều này tạo điều kiện cho lập trình hướng đối tượng, giúp bạn ánh xạ dữ liệu của cơ sở dữ liệu thành các đối tượng trong mã nguồn của bạn.
  2. Tích hợp LINQ (Language-Integrated Query): Entity Framework tích hợp LINQ, cho phép bạn viết các truy vấn dữ liệu bằng cách sử dụng ngôn ngữ C# đối với các đối tượng, giúp tạo ra mã dễ đọc và dễ bảo trì hơn so với SQL truyền thống.
  3. Tự động ánh xạ cơ sở dữ liệu: Entity Framework tự động ánh xạ các bảng và quan hệ trong cơ sở dữ liệu vào các đối tượng và quan hệ trong ứng dụng của bạn, giúp giảm thiểu việc phải viết mã mắc công để thao tác với cơ sở dữ liệu.
  4. Hiệu suất và tối ưu hóa truy vấn: Entity Framework cung cấp các cơ chế tối ưu hóa truy vấn và hiệu suất để đảm bảo rằng ứng dụng của bạn hoạt động nhanh chóng và hiệu quả.
  5. Quản lý thay đổi dữ liệu (Change Tracking): EF giúp quản lý thay đổi dữ liệu và tự động áp dụng chúng vào cơ sở dữ liệu, giúp tiết kiệm thời gian và nguồn lực trong quá trình phát triển.
  6. Hỗ trợ đa cơ sở dữ liệu: Entity Framework không giới hạn trong việc hỗ trợ một loạt các hệ quản trị cơ sở dữ liệu, cho phép bạn dễ dàng chuyển đổi giữa các loại cơ sở dữ liệu khác nhau mà không cần sửa đổi nhiều mã nguồn.
  7. Sử dụng dễ dàng: Entity Framework có sẵn trong các thư viện và gói NuGet, giúp bạn dễ dàng tích hợp nó vào dự án .NET của bạn.
  8. Cộng đồng lớn và tài liệu phong phú: Có một cộng đồng lớn của những người sử dụng Entity Framework trên toàn thế giới, và có rất nhiều tài liệu, diễn đàn, và nguồn học tập trực tuyến để hỗ trợ trong quá trình học và sử dụng EF.

Tóm lại, Entity Framework giúp đơn giản hóa và tối ưu hóa việc làm việc với cơ sở dữ liệu trong ứng dụng .NET, giúp bạn tiết kiệm thời gian và nỗ lực trong việc phát triển ứng dụng và tạo ra mã nguồn dễ đọc và dễ bảo trì hơn.

Cấu trúc của Entity framework

Entity Framework (EF) có một cấu trúc tổ chức và hoạt động chung gồm các thành phần chính sau:

  1. DbContext: DbContext là một lớp quan trọng trong Entity Framework, đại diện cho một đơn vị làm việc với cơ sở dữ liệu. Nó chứa thông tin về kết nối cơ sở dữ liệu, cũng như các bảng (Entities) và quan hệ giữa chúng. DbContext có trách nhiệm theo dõi thay đổi và thực hiện các thao tác với cơ sở dữ liệu.
  2. Entities (Đối tượng): Đây là các đối tượng C# ánh xạ trực tiếp vào các bảng trong cơ sở dữ liệu. Mỗi đối tượng thường tương ứng với một bản ghi trong cơ sở dữ liệu. Entities thường được định nghĩa bằng cách tạo các lớp C# với các thuộc tính tương tự với cơ sở dữ liệu.
  3. DbSet: DbSet là một tập hợp các đối tượng Entity. Nó được sử dụng để truy vấn và tương tác với các dữ liệu trong cơ sở dữ liệu. Mỗi DbSet thường tương ứng với một bảng trong cơ sở dữ liệu và được quản lý bởi DbContext.
  4. Configuration (Cấu hình): Configuration cho phép bạn cấu hình các quy tắc ánh xạ giữa các đối tượng và bảng cơ sở dữ liệu. Bạn có thể sử dụng Data Annotations hoặc Fluent API để định nghĩa cấu hình này.
  5. LINQ to Entities: Entity Framework tích hợp LINQ (Language-Integrated Query), cho phép bạn viết các truy vấn dữ liệu bằng cách sử dụng ngôn ngữ C# đối với các đối tượng. LINQ to Entities tạo điều kiện cho việc viết các truy vấn dễ đọc và dễ bảo trì.
  6. Migration (Di cư): Migration là một tính năng quan trọng của Entity Framework cho phép bạn tự động cập nhật cơ sở dữ liệu của ứng dụng để phản ánh các thay đổi trong mã nguồn của bạn. Điều này giúp quản lý phiên bản cơ sở dữ liệu một cách dễ dàng.
  7. Provider (Trình cung cấp): Entity Framework hỗ trợ nhiều loại cơ sở dữ liệu khác nhau thông qua các trình cung cấp (providers). Ví dụ, Entity Framework có SQL Server Provider để làm việc với cơ sở dữ liệu SQL Server, SQLite Provider cho SQLite, và nhiều trình cung cấp khác.
  8. Context Configuration: Entity Framework cho phép bạn cấu hình DbContext thông qua các tùy chọn như chuỗi kết nối, xác định trình cung cấp dữ liệu, và các cài đặt khác liên quan đến hiệu suất và hoạt động của ứng dụng.
  9. Transactions (Giao dịch): Entity Framework hỗ trợ quản lý giao dịch trong cơ sở dữ liệu, cho phép bạn thực hiện các thao tác giao dịch (commit hoặc rollback) để đảm bảo tính nhất quán của dữ liệu.
  10. Validation (Xác thực): Entity Framework cho phép bạn định nghĩa quy tắc xác thực dữ liệu trong các đối tượng của mình, để đảm bảo rằng dữ liệu được lưu trữ trong cơ sở dữ liệu là hợp lệ.

Tóm lại, cấu trúc của Entity Framework bao gồm các thành phần chính giúp bạn tương tác với cơ sở dữ liệu một cách dễ dàng và hiệu quả trong các ứng dụng .NET của mình.

Cấu trúc của Entity framework

Cấu trúc của Entity framework

Xem thêm: CTR Là Gì? Cách Tăng Chỉ Số CTR Hiệu Quả Cho Website

Các tính năng nổi bật của Entity Framework là gì?

Entity Framework (EF) là một công nghệ ORM (Object-Relational Mapping) mạnh mẽ trong thế giới phát triển ứng dụng .NET. Dưới đây là một số tính năng nổi bật của Entity Framework:

  1. Lập trình hướng đối tượng (OOP): Entity Framework cho phép bạn làm việc với cơ sở dữ liệu bằng cách sử dụng đối tượng và mã C# thay vì truy vấn SQL truyền thống. Điều này giúp tạo ra mã nguồn dễ đọc, dễ bảo trì và lập trình hướng đối tượng.
  2. Tích hợp LINQ (Language-Integrated Query): Entity Framework tích hợp tương tác dễ dàng với cơ sở dữ liệu thông qua LINQ. Bạn có thể sử dụng ngôn ngữ C# để viết các truy vấn dữ liệu, làm cho mã nguồn trở nên thông minh hơn và không cần phải học một ngôn ngữ truy vấn riêng biệt.
  3. Auto-Mapping: Entity Framework tự động ánh xạ các đối tượng của bạn vào các bảng trong cơ sở dữ liệu một cách tự động, giúp giảm công việc phải viết mã ánh xạ thủ công.
  4. Quản lý thay đổi (Change Tracking): EF giúp bạn quản lý thay đổi dữ liệu và tự động áp dụng chúng vào cơ sở dữ liệu. Điều này tiết kiệm thời gian và nguồn lực trong việc thực hiện các hoạt động CRUD (Create, Read, Update, Delete).
  5. Migrations: Entity Framework cung cấp tính năng Migration cho phép bạn tự động cập nhật cơ sở dữ liệu để phản ánh các thay đổi trong mã nguồn của bạn, giúp quản lý phiên bản cơ sở dữ liệu dễ dàng.
  6. Hỗ trợ nhiều loại cơ sở dữ liệu: Entity Framework không giới hạn trong việc hỗ trợ nhiều hệ quản trị cơ sở dữ liệu khác nhau như SQL Server, MySQL, SQLite, Oracle, và nhiều loại cơ sở dữ liệu khác.
  7. Hỗ trợ .NET Core và .NET 5+: Entity Framework Core (EF Core) là phiên bản tái thiết của EF được thiết kế lại để hỗ trợ .NET Core và .NET 5 trở đi, cung cấp hiệu suất tốt hơn và tích hợp tốt hơn với hệ thống phát triển mới của .NET.
  8. Hiệu suất và tối ưu hóa truy vấn: Entity Framework cung cấp nhiều cách để tối ưu hóa truy vấn dữ liệu và cải thiện hiệu suất của ứng dụng.
  9. Bảo mật và xác thực: Bạn có thể tích hợp Entity Framework với các cơ chế bảo mật và xác thực trong ứng dụng của bạn để đảm bảo an toàn dữ liệu.
  10. Cộng đồng lớn và tài liệu phong phú: Entity Framework có một cộng đồng sử dụng lớn và có nhiều tài liệu, diễn đàn, và nguồn học tập trực tuyến để hỗ trợ trong việc học và sử dụng EF.

Tóm lại, Entity Framework là một công nghệ quan trọng giúp đơn giản hóa việc làm việc với cơ sở dữ liệu trong ứng dụng .NET, giúp bạn tập trung vào logic ứng dụng thay vì việc tương tác với cơ sở dữ liệu.

Các bước tạo project và cài đặt Entity framework trong C#

Dưới đây là các bước cơ bản để tạo một dự án C# và cài đặt Entity Framework:

Bước 1: Tạo Project

  1. Mở Visual Studio.
  2. Chọn “File” > “New” > “Project…” để bắt đầu tạo một dự án mới.
  3. Chọn một mẫu dự án phù hợp với nhu cầu của bạn, ví dụ: “Console App (.NET Core)” hoặc “ASP.NET Core Web Application” cho ứng dụng web. Đảm bảo bạn chọn .NET Core hoặc .NET 5+ nếu bạn muốn sử dụng Entity Framework Core.
  4. Đặt tên và đường dẫn cho dự án và nhấn “Create” (Tạo).

Bước 2: Cài đặt Entity Framework

  1. Sau khi bạn đã tạo dự án, hãy chờ nó tải xong và hiển thị trên Visual Studio.
  2. Mở “Tools” > “NuGet Package Manager” > “Package Manager Console” để mở cửa sổ “Package Manager Console”.
  3. Trong cửa sổ “Package Manager Console”, bạn có thể sử dụng lệnh sau để cài đặt Entity Framework Core (EF Core) hoặc Entity Framework (EF) tùy theo phiên bản của .NET bạn đang sử dụng:
    • Đối với .NET Core hoặc .NET 5+ và sử dụng EF Core:
      Install-Package Microsoft.EntityFrameworkCore
    • Đối với .NET Framework và sử dụng EF (phiên bản cũ):
      Install-Package EntityFramework
  4. Entity Framework (hoặc EF Core) sẽ được tải và cài đặt vào dự án của bạn.

Bước 3: Sử dụng Entity Framework trong dự án

Bây giờ bạn đã cài đặt Entity Framework thành công, bạn có thể bắt đầu sử dụng nó trong dự án của mình. Dưới đây là một số bước cơ bản:

  1. Tạo lớp đại diện cho đối tượng cơ sở dữ liệu (Entity): Định nghĩa các lớp đối tượng C# tương ứng với các bảng trong cơ sở dữ liệu của bạn. Sử dụng Data Annotations hoặc Fluent API để ánh xạ các thuộc tính của đối tượng với cơ sở dữ liệu.
  2. Tạo lớp kế thừa DbContext: Tạo một lớp kế thừa DbContext để đại diện cho cơ sở dữ liệu của bạn và cung cấp các DbSet để thao tác với các đối tượng.
  3. Thực hiện các truy vấn dữ liệu: Sử dụng LINQ to Entities để viết các truy vấn dữ liệu trong mã nguồn của bạn.
  4. Thêm, Sửa đổi, Xóa dữ liệu: Sử dụng các phương thức của DbSet để thực hiện các thao tác CRUD (Create, Read, Update, Delete) với cơ sở dữ liệu.
  5. Cấu hình và tùy chỉnh: Cấu hình DbContext và các quy tắc ánh xạ bằng cách sử dụng Data Annotations hoặc Fluent API theo nhu cầu của bạn.
  6. Chạy Migration (nếu cần): Nếu bạn sử dụng Entity Framework Core, bạn có thể chạy các Migration để cập nhật cơ sở dữ liệu theo các thay đổi trong mã nguồn của bạn.
  7. Xử lý lỗi và xác thực: Xử lý lỗi và xác thực dữ liệu theo nhu cầu của ứng dụng của bạn.
  8. Sử dụng dễ dàng: Sử dụng Entity Framework để tập trung vào việc phát triển logic ứng dụng thay vì lo lắng về việc tương tác với cơ sở dữ liệu.

Lưu ý rằng cách bạn sử dụng Entity Framework cụ thể sẽ phụ thuộc vào loại dự án và yêu cầu cụ thể của bạn.

Các bước tạo project và cài đặt Entity framework trong C#

Các bước tạo project và cài đặt Entity framework trong C#

Xem thêm: AMP Là Gì? Hướng Dẫn Cài Đặt AMP Cho Website WordPress

Những câu hỏi thường gặp về Entity Framework

Dưới đây là một số câu hỏi thường gặp về Entity Framework (EF) và câu trả lời tương ứng:

  1. Entity Framework là gì?
    • Entity Framework là một công nghệ ORM (Object-Relational Mapping) của Microsoft cho phép tương tác với cơ sở dữ liệu bằng cách sử dụng đối tượng và mã C# thay vì truy vấn SQL truyền thống.
  2. EF Core và EF (Entity Framework) khác nhau như thế nào?
    • EF Core là phiên bản tái thiết và đa nền tảng của Entity Framework, được thiết kế lại để hỗ trợ .NET Core và .NET 5 trở đi. EF là phiên bản dành cho .NET Framework. EF Core có hiệu suất tốt hơn và tương thích với nhiều hệ quản trị cơ sở dữ liệu.
  3. Làm cách nào để cài đặt Entity Framework?
    • Để cài đặt Entity Framework, bạn có thể sử dụng NuGet Package Manager trong Visual Studio hoặc dùng dòng lệnh để cài đặt gói NuGet liên quan, ví dụ: Install-Package Microsoft.EntityFrameworkCore.
  4. Làm thế nào để tạo cơ sở dữ liệu bằng Entity Framework?
    • Bạn cần tạo một lớp kế thừa từ DbContext, định nghĩa các DbSet để đại diện cho các đối tượng, sau đó chạy các Migration để tạo cơ sở dữ liệu từ mã nguồn của bạn.
  5. Làm thế nào để thực hiện các truy vấn LINQ sử dụng Entity Framework?
    • Bạn có thể sử dụng LINQ to Entities để viết các truy vấn dữ liệu bằng cách sử dụng ngôn ngữ C# trong mã nguồn của bạn. Ví dụ: var results = context.Users.Where(u => u.Age > 18).ToList();.
  6. Làm thế nào để thực hiện các thao tác CRUD (Create, Read, Update, Delete) sử dụng Entity Framework?
    • Bạn có thể sử dụng các phương thức của DbSet như Add(), Find(), Update(), và Remove() để thực hiện các thao tác CRUD trên đối tượng và cơ sở dữ liệu.
  7. Làm thế nào để tối ưu hóa hiệu suất của Entity Framework?
    • Để tối ưu hóa hiệu suất, bạn có thể sử dụng Eager Loading, Lazy Loading, Projection, và tối ưu hóa truy vấn dữ liệu. Sử dụng các chỉ dẫn Include()AsNoTracking() cũng có thể giúp tối ưu hóa hiệu suất.
  8. Làm thế nào để thực hiện Migration với Entity Framework Core?
    • Bạn có thể sử dụng “Entity Framework Core Tools” hoặc dòng lệnh dotnet ef migrations để tạo và quản lý các phiên bản Migration để cập nhật cơ sở dữ liệu.
  9. Làm thế nào để xử lý lỗi trong Entity Framework?
    • Entity Framework thường sẽ ném các ngoại lệ (exception) trong trường hợp lỗi. Bạn có thể sử dụng try-catch để xử lý các ngoại lệ này và thực hiện các biện pháp xử lý lỗi thích hợp.
  10. Entity Framework có hỗ trợ đa cơ sở dữ liệu không?
    • Có, Entity Framework hỗ trợ nhiều hệ quản trị cơ sở dữ liệu khác nhau, bao gồm SQL Server, MySQL, SQLite, Oracle, và nhiều hệ thống khác.

Những câu hỏi và câu trả lời này có thể giúp bạn hiểu rõ hơn về Entity Framework và cách sử dụng nó trong phát triển ứng dụng của bạn.

Share

ITVUNGTAU là đơn vị chuyên thiết kế web tại Vũng Tàu và tỉnh Bà Rịa Vũng Tàu. Website theo yêu cầu với giao diện theo nhận diện thương hiệu, website theo mẫu giá rẻ với hàng nghìn mẫu website bán hàng, website giới thiệu sản phẩm, dịch vụ. Thiết kế website giá rẻ, Website đầy đủ tính năng và phù hợp với từng doanh nghiệp.Với tiêu chí vì khách hàng - hướng tới khách hàng, ITVUNGTAU mang đến những giải pháp toàn diện cho website của bạn: Thiết kế web theo hành vi khách hàng, website tương tác và trải nghiệm người dùng Website chuẩn SEO, tối ưu mã nguồn, các thẻ H, title, keywork, description,... Tương thích với mọi thiết bị di động Cập nhật công nghệ mới nhất, nén trang, bảo mật cao HOTLINE: 096 3636 138

Hotline: 0963636138
Báo giá dịch vụ Zalo: 0963636138