Bưởi EntityFrameworkCore MySQL là gì?
09 là nhà cung cấp Lõi khung thực thể được xây dựng dựa trên MySqlConnector, cho phép sử dụng ORM lõi khung thực thể với MySQL Show
bưởi. Thực thểKhungLõi. MySql hiện đang tìm kiếm những người đóng góp cốt lõi khả năng tương thíchLõi EF và. NET lõiCác phiên bản sau của EF Core và. NET Core tương thích với 09bưởi. Thực thểKhungLõi. Lõi MySqlEF. NET Core3. 0. 0-rc1. cuối cùng (phát hành trước)3. 0. 03. 02. 2. 62. 2. 62. 2/3. 0 Phiên bản và DBMS được hỗ trợ09 được thử nghiệm với 2 phiên bản phụ mới nhất của 12 và 13. Các phiên bản cũ hơn có thể tương thích nhưng không được hỗ trợ hoặc thử nghiệm chính thức. Các phiên bản được hỗ trợ hiện tại là
Lịch trình và Lộ trìnhTrạng thái quan trọng Ngày phát hành3. 0. 0Tính năng khóaSoon3. 0. 0-rc2Đã công bố2019-11-043. 0. 0-rc1Đã phát hành2019-10-062. 2. 6Đã phát hành2019-10-152. 2. 0Đã phát hành2019-02-072. 1. 4Đã phát hành2018-11-29Bản dựng hàng đêmĐể sử dụng các bản dựng hàng đêm từ nguồn cấp dữ liệu MyGet của chúng tôi, hãy thêm tệp show variables like 'character_set_database';0 vào thư mục gốc giải pháp của bạn với các nội dung sau Bắt đầu1. Bộ ký tự máy chủ được đề xuấtChúng tôi khuyên bạn nên đặt show variables like 'character_set_database';1 làm bộ ký tự mặc định cho cơ sở dữ liệu MySQL của mình. Câu lệnh sau sẽ kiểm tra bộ ký tự DB của bạn show variables like 'character_set_database'; 2. Cấu hình CSPROJĐảm bảo rằng tệp show variables like 'character_set_database';2 của bạn có các tham chiếu sau Exe netcoreapp2.2 3. Cấu hình dịch vụThêm 09 vào cấu hình dịch vụ trong tệp show variables like 'character_set_database';4 của bạn using System; using Microsoft.EntityFrameworkCore; using Pomelo.EntityFrameworkCore.MySql.Infrastructure; namespace YourNamespace // replace "YourNamespace" with the namespace of your application { public class Startup { public void ConfigureServices(IServiceCollection services) { // other service configurations go here services.AddDbContextPool( // replace "YourDbContext" with the class name of your DbContext options => options.UseMySql("Server=localhost;Database=ef;User=root;Password=123456;", // replace with your Connection String mySqlOptions => { mySqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql); // replace with your Server Version and Type } )); } } } Xem Trang Wiki Tùy chọn Cấu hình của chúng tôi để biết danh sách đầy đủ các tùy chọn được hỗ trợ 4. Ứng dụng mẫuKiểm tra Kiểm tra tích hợp của chúng tôi để biết kho lưu trữ ví dụ bao gồm Ứng dụng MVC 5. Đọc Tài liệu cốt lõi của EFTham khảo Tài liệu EF Core của Microsoft để biết hướng dẫn chi tiết và các ví dụ về cách sử dụng EF Core Giàn giáo / Kỹ thuật đảo ngượcSử dụng công cụ EF Core để thực thi các lệnh giàn giáo ________số 8 Đóng gópMột trong những cách dễ dàng nhất để đóng góp là báo cáo các vấn đề và tham gia thảo luận về các vấn đề đó. Bạn cũng có thể đóng góp bằng cách gửi yêu cầu kéo với các thay đổi mã và hỗ trợ kiểm tra Trong bài học này, chúng tôi sẽ giải thích cách định cấu hình một dự án để sử dụng Entity Framework Core với cơ sở dữ liệu MySQL. Các hướng dẫn trong bài học này có thể được sử dụng cho bất kỳ ứng dụng nào bạn xây dựng để sử dụng EF Core với cơ sở dữ liệu MySQL Đối với hướng dẫn này, chúng ta sẽ sử dụng ứng dụng Danh sách việc cần làm làm ví dụ và chúng ta sẽ bắt đầu từ nơi chúng ta đã dừng lại với ứng dụng Danh sách việc cần làm. sử dụng 15 để giao tiếp với cơ sở dữ liệu MySQL. Điều đó có nghĩa là hướng dẫn này sẽ bao gồm các hướng dẫn về cách xóa 15 và cách cập nhật các phương thức tùy chỉnh mà chúng tôi đã tạo trong bài tập về nhà cuối tuần để giao tiếp với cơ sở dữ liệu MySQL của chúng tôi. Như mọi khi, bạn có thể viết mã lâu với những bài học này hoặc chỉ cần đọc qua chúng. Chúng tôi sẽ cung cấp các liên kết đến một repo ví dụ khi cần và ở phần cuối của hướng dẫn Thiết lập dự ánThêm và loại bỏ các phụ thuộcBỏ cái cũ và với cái mới. Chúng tôi sẽ bắt đầu bằng cách thêm các phụ thuộc bổ sung mà chúng tôi sẽ cần cho dự án EF Core này. Chuyển đến thư mục gốc của dự án sản xuất ( 0) qua thiết bị đầu cuối và thêm các phụ thuộc sau0 Lưu ý một trong số này không bắt đầu với Microsoft. Đó là bởi vì 1 thực sự là một gói của bên thứ ba có thể được tải xuống từ cùng một nguồn với các gói chính thức của Microsoft. Xem Repo GitHub chính thức của Entity Framework Core để tìm hiểu thêmHãy cũng loại bỏ gói 15 mà chúng tôi đã thêm vào cuối tuần
Lưu ý cách MySqlConnector hiện đã biến mất khỏi. tập tin csproj. Lệnh 3 cho phép chúng tôi loại bỏ các gói mà chúng tôi không cần khỏi dự án của mình một cách thuận tiện và sạch sẽChuỗi kết nối cơ sở dữ liệuTiếp theo, chúng ta cần thêm chuỗi kết nối cơ sở dữ liệu vào ứng dụng của mình Khi chúng tôi sử dụng gói MySqlConnector để giao tiếp với cơ sở dữ liệu, chúng tôi đã đặt chuỗi kết nối cơ sở dữ liệu của mình vào 4 và tải nó trong quá trình tạo máy chủ ứng dụng web của chúng tôi trong 5. Chúng tôi đã sử dụng 4 để bảo vệ dữ liệu nhạy cảm trong chuỗi kết nối cơ sở dữ liệu của mình bằng cách thêm nó vào 7 để nó không bao giờ bị theo dõi trong lịch sử Git của chúng tôi. Chúng tôi cũng bao gồm các hướng dẫn về cách tạo lại một 4 trong READMEs dự án của chúng tôiChà, chúng tôi sẽ sử dụng 4 theo cách tương tự để tải và bảo vệ chuỗi kết nối cơ sở dữ liệu của chúng tôi với EF Core. Vì vậy, nếu bạn đang theo dõi và cập nhật ứng dụng Danh sách việc cần làm của mình, chúng tôi không cần thực hiện thay đổi lớn nào với các quy trình xung quanh việc sử dụng 4Tất cả các dự án khác mà bạn tạo sẽ cần những thứ sau
show variables like 'character_set_database';3
Tên dự án. Giải pháp/Tên dự án/cài đặt ứng dụng. json show variables like 'character_set_database';0 Cập nhật tên cơ sở dữ liệu và tạo cơ sở dữ liệu mớiChúng tôi khuyên bạn nên tạo cơ sở dữ liệu mới cho hướng dẫn sử dụng EF Core này để giao tiếp với cơ sở dữ liệu MySQL. Làm như vậy sẽ bảo vệ cơ sở dữ liệu mà chúng tôi đã thiết lập với phiên bản Danh sách việc cần làm sử dụng MySqlConnector. Để làm điều này, hãy làm theo các bước sau
Xóa show variables like 'character_set_database';04Chúng tôi sẽ định cấu hình dự án của mình để sử dụng EF Core trong 5. Trong quá trình này, chúng tôi sẽ thiết lập cơ sở dữ liệu MySQL của mình để chạy như một dịch vụ trong 5. Do đó, chúng tôi không còn cần tệp show variables like 'character_set_database';07 có chứa lớp show variables like 'character_set_database';08 nữa. Bắt đầu bằng cách xóa tệp này khỏi dự án Danh sách việc cần làm của bạn Loại bỏ những điều sau đây ToDoList/Mô hình/DatabaseConfig. cs show variables like 'character_set_database';1 Tạo bối cảnh và thực thể cơ sở dữ liệuTiếp theo, chúng ta cần tạo một mô hình cơ sở dữ liệu và các bảng trong dự án của mình để Entity Framework Core sử dụng để ánh xạ các lớp và đối tượng C# của chúng ta tới các mục và bảng cơ sở dữ liệu MySQL và ngược lại. EF Core sử dụng thuật ngữ cụ thể cho các mô hình này
Chúng tôi không phải thay đổi bất cứ điều gì với show variables like 'character_set_database';09 hoặc show variables like 'character_set_database';10 để biến những mô hình đó thành các thực thể EF Core. Chúng tôi liệt kê các thực thể trong ứng dụng của mình bằng cách xác định chúng trong ngữ cảnh cơ sở dữ liệu. Vì vậy, hãy tạo điều đó tiếp theo Trong show variables like 'character_set_database';19, tạo một tệp mới có tên là Exe netcoreapp2.230 và thêm đoạn mã sau vào đó ToDoList/Mô hình/ToDoList bối cảnh. cs Exe netcoreapp2.23 Hãy xem qua những gì đang xảy ra ở đây
Định cấu hình $ dotnet remove package MySqlConnector 5 để chạy Cơ sở dữ liệu của chúng tôi dưới dạng Dịch vụTiếp theo, chúng tôi sẽ cập nhật 5 để thực hiện hai việc
Hãy xem mã mới trong 5. Chúng tôi sẽ hiển thị toàn bộ tập tinshow variables like 'character_set_database';6 Hãy giải thích các bản cập nhật
Với việc EF Core hiện được định cấu hình để chạy dưới dạng dịch vụ, EF Core sẽ tự động xử lý việc mở và đóng kết nối cơ sở dữ liệu mỗi khi chúng tôi truy vấn cơ sở dữ liệu của mình. khá gọn gàng Lưu ý rằng mặc dù chúng tôi đặt tên ngữ cảnh cơ sở dữ liệu EF Core của mình là 158, nhưng tên của cơ sở dữ liệu thực tế vẫn được đặt trong 4Và cuối cùng, nếu bạn muốn đọc thêm về cách định cấu hình EF Core như một dịch vụ, hãy truy cập tài liệu Cấu hình DbContext với Dependency Injection và cuộn xuống phần "Sử dụng DbContext với Dependency injection" Cập nhật lên Quy ước đặt tên cốt lõi của EFĐể EF Core ánh xạ các mô hình C# của chúng tôi tới cơ sở dữ liệu MySQL, chúng tôi cần tuân theo các quy ước đặt tên cụ thể, chính xác là hai quy ước
Để đáp ứng các quy ước đặt tên này, chúng tôi cần truy cập cơ sở dữ liệu show variables like 'character_set_database';01 của mình và cập nhật tên cột theo cách sau
Tiếp theo, hãy mở show variables like 'character_set_database';09 trong dự án 0 và cập nhật thuộc tính 00 của mô hình show variables like 'character_set_database';14 của bạn thành 06. Mô hình show variables like 'character_set_database';14 bây giờ trông như thế này using System; using Microsoft.EntityFrameworkCore; using Pomelo.EntityFrameworkCore.MySql.Infrastructure; namespace YourNamespace // replace "YourNamespace" with the namespace of your application { public class Startup { public void ConfigureServices(IServiceCollection services) { // other service configurations go here services.AddDbContextPool( // replace "YourDbContext" with the class name of your DbContext options => options.UseMySql("Server=localhost;Database=ef;User=root;Password=123456;", // replace with your Connection String mySqlOptions => { mySqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql); // replace with your Server Version and Type } )); } } }4 Lưu ý rằng chúng ta sẽ tuân theo các quy ước đặt tên này khi thiết lập cơ sở dữ liệu và thực thể kể từ bây giờ Tài liệu tham khảo kho lưu trữTheo liên kết bên dưới để xem phiên bản mẫu của ứng dụng To Do List sẽ trông như thế nào vào thời điểm này. Lưu ý rằng đây là một liên kết đến một nhánh cụ thể trong kho lưu trữ Entity Framework có hoạt động với MySQL không?Phương pháp Code First cho phép bạn xác định mô hình thực thể trong mã, tạo cơ sở dữ liệu từ mô hình, sau đó thêm dữ liệu vào cơ sở dữ liệu. MySQL Connector/NET tương thích với nhiều phiên bản Entity Framework Core .
Microsoft EntityFrameworkCore là gì?Entity Framework (EF) Core là một phiên bản nhẹ, có thể mở rộng, nguồn mở và đa nền tảng của công nghệ truy cập dữ liệu Entity Framework phổ biến . EF Core có thể phục vụ như một trình ánh xạ quan hệ đối tượng (O/RM), mà. cho phép. NET để làm việc với cơ sở dữ liệu bằng cách sử dụng. đối tượng NET.
Gói nào sẽ khiến gói quan hệ Microsoft EntityFrameworkCore được thêm vào thông qua phần phụ thuộc NuGet?Yêu cầu NuGet 3. 6 hoặc cao hơn. Lệnh này dự định sẽ được sử dụng trong Bảng điều khiển quản lý gói trong Visual Studio, vì nó sử dụng phiên bản Gói cài đặt của mô-đun NuGet.
. Gói NuGet (2. 3K) Chạy lệnh giàn giáo DbContext ở đâu?Có thể thực hiện việc này bằng cách sử dụng lệnh Scaffold-DbContext của công cụ EF Core Package Manager Console (PMC) hoặc giàn giáo dbcontext dotnet ef . NET Công cụ giao diện dòng lệnh (CLI). |