Chúng ta có thể sử dụng MySQL với lõi .NET không?

Khả năng sử dụng MySQL (hoặc MariaDB) với. Net Core mở ra cơ hội sử dụng cơ sở dữ liệu mã nguồn mở và miễn phí. Hơn nữa, người ta có thể tận dụng. Lõi mạng hoặc. Net 5 đa nền tảng bằng cách bỏ qua tất cả các dịch vụ trả phí của Microsoft. Có, lưu trữ Linux với một trong những cơ sở dữ liệu mã nguồn mở và miễn phí

MySQL về mặt kỹ thuật là một cơ sở dữ liệu mã nguồn mở. Tuy nhiên, dưới thời Oracle, MySQL hiện có các mô-đun nguồn đóng, độc quyền. MariaDB, là một nhánh rẽ của MySQL, là một sự thay thế tốt. MariaDB 5. 5 cung cấp tất cả MySQL 5. 5 tính năng

Trong bài đăng này, tôi sẽ trình bày cách chúng ta có thể sử dụng Entity Framework 5. 0 Code Cách tiếp cận đầu tiên để tạo bảng trong cơ sở dữ liệu MySQL

Thiết lập dự án

lợi thế của việc sử dụng. Net Core một lần nữa sử dụng Visual Studio Code nhẹ (có lẽ là một trong những trình chỉnh sửa mã nguồn mở miễn phí tốt nhất) với hàng triệu plugin. Tuyệt vời cho Linux vì Visual Studio chỉ khả dụng cho Windows và Mac. Tôi sẽ sử dụng Visual Studio 2019 Community Edition (miễn phí) và MySQL 5. 7

Chúng tôi sẽ sử dụng lệnh dotnet new để tạo mẫu dựng sẵn. Nó cũng có thể được thực hiện bằng GUI trong Visual Studio

  1. Tạo một thư mục cho dự án
  2. Mở dấu nhắc lệnh và đi đến thư mục
  3. Loại dotnet new --list. Nó hiển thị một danh sách các mẫu có sẵn
  4. Chúng tôi sẽ sử dụng ASP. NET CORE Web API nhắm mục tiêu mẫu. Lõi mạng 3. 1
  5. Loại 1_______. Kiểm tra phiên bản mẫu khác
  6. Lệnh sẽ tạo một dự án trong thư mục đã cho. Hãy nhớ rằng, nó KHÔNG tạo ra Giải pháp như Visual Studio. Người ta cần chạy một lệnh rõ ràng để tạo giải pháp. tôi sẽ bỏ qua nó

Bài đăng này giả sử tất cả các phụ thuộc đã được cài đặt. . NET Core SDK hoặc Runtime (ít nhất 3. 1) (có thể kiểm tra phiên bản đã cài đặt bằng cách sử dụng dotnet --version), MySQL và Visual Studio hoặc Visual Studio Code (chuẩn bị viết thêm mã)

Chuyển đến thư mục dự án, nhấp chuột phải vào PROJECT_NAME. csproj và chọn 'Mở bằng Visual Studio'

Cài đặt Entity Framework Core 5. 0

Một lần nữa, chúng ta có thể cài đặt gói từ Nuget bằng Visual Studio GUI. Tuy nhiên, thật tiện lợi khi sử dụng CLI trong Bảng điều khiển quản lý gói

Lời khuyên. mở nuget. org để chúng tôi có thể sao chép CLI từ đó

  1. Chuyển đến nuget. org và tìm kiếm EF Core hoặc theo liên kết này
  2. Nhấp vào tab Trình quản lý gói và nhấp vào biểu tượng sao chép ở phía bên tay phải
  3. Dán nó vào Bảng điều khiển quản lý gói Visual Studio
  4. Cài đặt EntityFrameworkCore Design từ đây
  5. Chúng tôi cũng cần Công cụ dòng lệnh lõi của EF để tạo di chuyển, cập nhật cơ sở dữ liệu, v.v. Nó được cài đặt trên phạm vi toàn cầu. Trước tiên hãy kiểm tra xem nó đã được cài đặt bởi dotnet ef chưa. Nếu bạn không thấy văn bản EF với Unicorn theo sau là các tùy chọn thì chúng ta cần cài đặt nó trên dấu nhắc lệnh trước dotnet tool install --global dotnet-ef --version 5.0.1

Cài đặt nhà cung cấp Entity Framework Core cho MySQL

Chúng tôi sẽ sử dụng nhà cung cấp Pomelo trên MySql. Dữ liệu. Thực thểKhungLõi. Cái thứ hai là nhà cung cấp MySQL chính thức, tuy nhiên, tôi không có trải nghiệm tốt với nó, vì vậy lựa chọn của tôi là Pomelo

  1. Nhận bản mới nhất (alpha. 2) phiên bản từ đây
  2. Dán mã đã sao chép vào Bảng điều khiển quản lý gói

Tạo cơ sở dữ liệu trong MySQL (mình dùng MySQL Workbench)

Tôi sẽ không đưa ra các hướng dẫn về việc tạo cơ sở dữ liệu và người dùng trong MySQL. MySQL Workbench không thể so sánh với SQL Server Management Studio nhưng khá dễ sử dụng

  1. Tôi đang sử dụng cơ sở dữ liệu mysqldotnet và người dùng mysqldotnetuser cho cơ sở dữ liệu này trong ví dụ này

Tạo một mô hình để tạo một bảng

  1. Tạo một thư mục Mô hình ở thư mục gốc của dự án
  2. Thêm một lớp vào thư mục, giả sử Người dùng
  3. Bây giờ, hãy xác định mô hình của chúng tôi

Theo mặc định, EF Core sẽ tạo số nhiều cho tên bảng được tạo. Ví dụ: Người dùng sẽ được ánh xạ là Người dùng trong cơ sở dữ liệu. Để có tên số ít, hãy trang trí lớp bằng thuộc tính [Table("User")]

[Table("User")] public class User { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Required] [MaxLength(50)] public string FirstName { get; set; } [Required] [MaxLength(50)] public string LastName { get; set; } [Required] [MaxLength(250)] public string Address { get; set; } [Required] [MaxLength(50)] public string Country { get; set; } [MaxLength(15)] public int Mobile { get; set; } }

Tạo DBContext

Bây giờ, DBContext (lớp bối cảnh cơ sở dữ liệu) là lớp chính điều phối chức năng Entity Framework cho một mô hình dữ liệu nhất định. Nói cách khác, DBContext xem các mô hình và tạo các bảng cơ sở dữ liệu tương ứng

Bạn nên có các hoạt động liên quan đến cơ sở dữ liệu trong một dự án riêng biệt. Nhưng để đơn giản, tôi đang làm cùng một dự án. Cách tiếp cận này không được khuyến khích

  1. Tạo một thư mục ở thư mục gốc của dự án, giả sử Data
  2. Tạo một lớp dẫn xuất DbContext bên trong thư mục mới tạo, giả sử DotNetCoreMySQLContext
  3. Chỉ định các thực thể được đưa vào mô hình dữ liệu bằng cách tạo thuộc tính DbSet như public DbSetUsers { get; set; }

DotNetCoreMySQLContext có nguồn gốc từ DbContext trông như thế này

________số 8_______

Thêm chuỗi kết nối

  1. Chúng tôi cần cho ứng dụng biết nơi tìm cơ sở dữ liệu của chúng tôi
  2. không giống. net, chuỗi kết nối được chỉ định trong cài đặt ứng dụng. json. không có mạng. cấu hình
  3. Sau đó, chúng ta phải tham chiếu chuỗi kết nối từ Khởi động. cs

cài đặt ứng dụng. json

"AllowedHosts": "*", "ConnectionStrings": { "DotNetCoreMySQLAppConnection": "server=localhost; port=3306; database=mysqldotnet; user=mysqldotnetuser; password=Pa55w0rd!; Persist Security Info=false; Connect Timeout=300" }

Lưu trữ mật khẩu trong cài đặt ứng dụng luôn là một ý tưởng tồi. tập tin json. Ngay cả khi chúng tôi đang đẩy vào kho lưu trữ riêng của mình. Điều này có thể tránh được bằng cách sử dụng bí mật người dùng. Một lần nữa, để đơn giản, tôi đang sử dụng mật khẩu đơn giản. Tuy nhiên, bí mật người dùng là một chủ đề hay cho chính blog

Tiêm chuỗi kết nối trong Khởi động. cs

Phương thức ConfigureServices từ khi khởi động. cs

D:\DotNetCoreMySQL>dotnet new webapi --framework netcoreapp3.10

Dòng này D:\DotNetCoreMySQL>dotnet new webapi --framework netcoreapp3.11 yêu cầu ứng dụng sử dụng nhà cung cấp MySQL và lớp ngữ cảnh của chúng tôi với chuỗi kết nối từ cài đặt ứng dụng. json

Tạo cơ sở dữ liệu di chuyển và cập nhật

Bây giờ, chúng tôi đã thiết lập mọi thứ để sử dụng phương pháp Code-First để tạo các bảng trong cơ sở dữ liệu. Entity Framework theo dõi tất cả các mô hình thông qua di chuyển. Mỗi lần, chúng tôi cập nhật hoặc tạo mô hình, chúng tôi cần làm như vậy để thực hiện một lần di chuyển duy nhất. Những lần di chuyển này trở thành một loại bản ghi và chúng có thể được sử dụng để khôi phục trong trường hợp xảy ra lỗi

  1. Tạo lần di chuyển đầu tiên bằng cách nhập lệnh sau trong Bảng điều khiển quản lý gói
D:\DotNetCoreMySQL>dotnet new webapi --framework netcoreapp3.12

EF tạo một thư mục có tên Di chuyển ở thư mục gốc của dự án để lưu trữ tất cả các lần di chuyển. 2. Áp dụng các thay đổi cho cơ sở dữ liệu bằng cách gõ lệnh dưới đây. Hãy nhớ rằng, máy chủ MySQL phải đang chạy vào lúc này

D:\DotNetCoreMySQL>dotnet new webapi --framework netcoreapp3.13

Xác nhận tạo bảng trong cơ sở dữ liệu

Mở MySQL Workbench (hoặc trình soạn thảo SQL của bạn) và xác nhận việc tạo bảng

Chúng ta có thể sử dụng MySQL với lõi .NET không?

sử dụng. MẠNG 5. 0

Thay đổi Khung mục tiêu bằng cách nhấp chuột phải vào tên Dự án. Trên tab Ứng dụng, chọn. mạng 5. 0 từ menu thả xuống Khung mục tiêu. Điều này cũng có thể được thực hiện bằng cách mở PROJECTNAME. csproj_ trong trình soạn thảo văn bản và thay đổi D:\DotNetCoreMySQL>dotnet new webapi --framework netcoreapp3.14. GHI CHÚ. . NET 5 SDK hoặc thời gian chạy phải được cài đặt

Tôi nên sử dụng cơ sở dữ liệu nào với. NET lõi?

SQLite
postgres
mysql

Cách kết nối cơ sở dữ liệu SQL trong. NET lõi?

Bước 1. Mở Visual Studio 2019. .
Bước 2. Mở SQL Server Object Explorer và nhấp vào Thêm máy chủ SQL
Bước 3. Ở đây, chúng tôi có một tùy chọn để chọn từ Máy chủ SQL của máy cục bộ, được kết nối qua mạng và cơ sở dữ liệu Azure SQL. .
Bước 4. Nhập tên dự án và nhấp vào Tạo
Nhấp vào Tạo

Tôi có thể sử dụng MySQL với asp net không?

Để kết nối với cơ sở dữ liệu MySQL bằng ASP. MẠNG . Thay đổi giá trị mật khẩu của bạn thành giá trị mật khẩu cơ sở dữ liệu thực của bạn. Sử dụng Microsoft Visual Studio. NET tạo một ASP. dự án NET. Thêm một tham chiếu đến MySql.

Tôi có thể sử dụng MySQL với C# không?

MySql. Dữ liệu là một triển khai của ADO. NET cho cơ sở dữ liệu MySQL. Đây là trình điều khiển được viết bằng ngôn ngữ C# và có sẵn cho tất cả. Ngôn ngữ NET .