Làm cách nào để kết nối API Web với cơ sở dữ liệu MySQL?
Tôi đang sử dụng API web cho một dự án mà tôi đang thực hiện, vấn đề là khi tôi cố gắng kết nối với ứng dụng MySQL In, tôi gặp phải lỗi này Show
Tôi đã nhận được chuỗi kết nối từ MYSQLCONNSTR_localdb. tập tin ini Nó trông như thế này. Cơ sở dữ liệu=localdb;Nguồn dữ liệu=127. 0. 0. 1;Id người dùng=azure;Mật khẩu=mật khẩu Tôi đang sử dụng MySql. Gói data kết nối Tôi khá mới với Azure, đây chỉ là điều tôi cần làm cho dự án của mình. Tôi hy vọng tôi có thể nhận được một số giúp đỡ. Cảm ơn trước Trong bài viết này, tôi sẽ hướng dẫn từng bước cách sử dụng đúng Entity Framework Core trong ASP của bạn. NET Core với Cơ sở dữ liệu MySql và using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CRUDWebAPIWithMySQL.Models { public class StudentDetailContext : DbContext { public StudentDetailContext(DbContextOptions<StudentDetailContext> options) : base(options) { } public DbSet<StudentDetail> StudentDetails { get; set; } //Table Name StudentDetails } }0 truyền thống. Tất cả các hành động đã được thực hiện trong Visual Studio 2019 trên máy Windows 10 với máy chủ MySql đã cài đặt. Trong ví dụ sử dụng ASP. NET Core Web API dự án (. NET lõi v3. 1) Trước hết bạn phải biết một số câu hỏi cơ bản. Tôi đã thảo luận về chúng dưới đây ASP là gì. NET lõi?ASP. NET Core là một framework mã nguồn mở, đa nền tảng, hiệu suất cao để xây dựng các ứng dụng kết nối Internet, dựa trên đám mây hiện đại. Với ASP. NET Core, bạn có thể. Xây dựng các ứng dụng và dịch vụ web, ứng dụng IoT và phụ trợ di động. Sử dụng các công cụ phát triển yêu thích của bạn trên Windows, macOS và Linux API Web là gì?API Web là giao diện lập trình ứng dụng cho máy chủ web hoặc trình duyệt web. Đó là một khái niệm phát triển web, thường được giới hạn ở phía máy khách của ứng dụng web (bao gồm mọi khung web đang được sử dụng) và do đó thường không bao gồm các chi tiết triển khai trình duyệt hoặc máy chủ web như SAPI hoặc API trừ khi ứng dụng web từ xa có thể truy cập công khai Khung thực thể là gì?Entity Framework là một Trình ánh xạ quan hệ đối tượng (ORM), là một loại công cụ giúp đơn giản hóa ánh xạ giữa các đối tượng trong phần mềm của bạn tới các bảng và cột của cơ sở dữ liệu quan hệ ORM là gì?Ánh xạ quan hệ đối tượng trong khoa học máy tính là một kỹ thuật lập trình để chuyển đổi dữ liệu giữa các hệ thống loại không tương thích bằng ngôn ngữ lập trình hướng đối tượng. Trên thực tế, điều này tạo ra một "cơ sở dữ liệu đối tượng ảo" có thể được sử dụng từ bên trong ngôn ngữ lập trình MySQL là gì?MySQL là một cơ sở dữ liệu quan hệ mã nguồn mở. MySQL là nền tảng chéo có nghĩa là nó chạy trên một số nền tảng khác nhau như Windows, Linux và Mac OS, v.v. Lõi EF trong ASP. NET Core Web API với Cơ sở dữ liệu MySqlHướng dẫn này giải thích cách thiết lập ASP sẵn sàng sản xuất. NET Core Web API sử dụng Entity Framework với Cơ sở dữ liệu MySQL. API Web của chúng tôi có thể thực hiện các hoạt động CRUD cơ bản Trong bài viết này, bạn sẽ học cách
công cụ bắt buộc
Bước 1. Cài đặt MySQLLàm theo các bước để cài đặt MySQL trong windows 10 của bạn Tải xuống MySQLTải xuống Trình cài đặt MySQL chung có sẵn tại liên kết này. MySQL Workbench có thể được cài đặt bằng gói Windows MSI Installer. Gói MSI mang tên using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CRUDWebAPIWithMySQL.Models { public class StudentDetailContext : DbContext { public StudentDetailContext(DbContextOptions<StudentDetailContext> options) : base(options) { } public DbSet<StudentDetail> StudentDetails { get; set; } //Table Name StudentDetails } }2, trong đó phiên bản cho biết số phiên bản MySQL Workbench và cung cấp kiến trúc bản dựng (winx64) Ứng dụng MySQL Installer có thể cài đặt, nâng cấp và quản lý hầu hết các sản phẩm MySQL, bao gồm cả MySQL Workbench Thiết lập My SQL bao gồm MySQL Workbench
Tiếp theo-->
bạn được thiết lập Bước 2. Tạo cơ sở dữ liệu bằng MySQL WorkbenchBạn có thể sử dụng MySQL Workbench GUI để tạo cơ sở dữ liệu. Bạn cũng có thể tạo cơ sở dữ liệu theo chương trình nhưng đây là cách thực hiện thông qua GUI Trong ví dụ sau, chúng tôi tạo một cơ sở dữ liệu mới có tên "StudentDB"
Bước 3. Tạo một ASP. NET Core Web API
N. B. Bỏ chọn cấu hình cho Https Nhấn "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }1 để chạy ứng dụng Bước 4. Thêm phụ thuộc vào ASP. NET lõiTrước khi chúng tôi bắt đầu dự án của chúng tôi cần một vài phụ thuộc. Chúng tôi sẽ thêm tất cả chúng bằng Trình quản lý gói NuGet Danh sách các gói dưới đây
Tôi sử dụng nhà cung cấp Polemo thay vì nhà cung cấp Oracle (MySql. Dữ liệu. EntityFrameworkCore) vì trình kết nối của Oracle không hỗ trợ di chuyển EF, nên các mối quan hệ ở đó chỉ có thể được triển khai trong Fluent. API. Công cụ EF tôi đã cài đặt chỉ để đơn giản hóa việc nhập lệnh trong Bảng điều khiển quản lý gói (Bước cuối cùng của câu chuyện này) Bước 5. Thêm mô hình và bối cảnh cơ sở dữ liệuĐể bắt đầu, chúng tôi cần các Mô hình EF và DbContext cơ bản. Trong ví dụ này, tôi sẽ tạo các mô hình đơn giản với người dùng và thú cưng của anh ấy. Ví dụ này cũng sẽ minh họa việc tự động tạo các mối quan hệ bằng Entity Framework. Đầu tiên tạo một thư mục có tên "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }2, sau đó tạo "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }3 Lớp người mẫu using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace CRUDWebAPIWithMySQL.Models { public class StudentDetail { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID { get; set; } [Required] [Column(TypeName = "nvarchar(100)")] public string Name { get; set; } [Required] [Column(TypeName = "varchar(11)")] public string Phone_Number { get; set; } [Required] [Column(TypeName = "varchar(10)")] public string Birth_Date { get; set; } } } Sau đó, tạo tệp DBContext có tên "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }4 using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CRUDWebAPIWithMySQL.Models { public class StudentDetailContext : DbContext { public StudentDetailContext(DbContextOptions<StudentDetailContext> options) : base(options) { } public DbSet<StudentDetail> StudentDetails { get; set; } //Table Name StudentDetails } } Bước 6. Định cấu hình tiêm phụ thuộcTrong ví dụ này, tôi sẽ lưu chuỗi kết nối của chúng ta trong tệp "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }5, vì nó hữu ích khi làm việc với Git và các biện pháp Bảo mật "ConnectionStrings": { "DBConn": "Server= Đây là của chúng tôi. Chúng tôi nhận được IP Máy chủ mySQL và số cổng từ "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }6 "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" } Bây giờ chúng tôi phải thông báo về bối cảnh cơ sở dữ liệu hiện có của chúng tôi theo phương pháp "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }7 của "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }8. LƯU Ý rằng trong cấu hình, bạn phải sử dụng phương thức "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }9 thay vì using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;0. Bạn phải nhập ba cái này. using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;1, using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;2 và lớp Model và DBContext của bạn nằm trong thư mục "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }2 using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore; Sau đó, thêm phương thức "ConnectionStrings": { "DBConn": "Server=localhost;port=3306;Database=studentdb;User Id=root;Password=1234;" }9 để kết nối public void ConfigureServices(IServiceCollection services) { services.AddDbContextPool<Your DBContext Class name>( options => options.UseMySql(Configuration.GetConnectionString(<Connection String Name>) )); services.AddMvc(); } public void ConfigureServices(IServiceCollection services) { services.AddDbContextPool<StudentDetailContext>( options => options.UseMySql(Configuration.GetConnectionString("DBConn") )); services.AddControllers(); } Sau đó tạo lớp using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;5. VS tạo nó tự động. Làm theo các bước dưới đây
Bước 7. di cưNếu bạn đã cài đặt Công cụ EF như tôi, thì bạn có thể chạy 2 lệnh tiếp theo trong Bảng điều khiển quản lý gói mở using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;8 của bạn Add-Migration <MigrationName> Update-Database Đây là của tôi, Add-Migration InitialCreate Update-Database Nếu có bất kỳ sự cố nào trong quá trình Di chuyển của bạn, hãy xóa các lần di chuyển trước đó của bạn Remove-Migration Sau khi di chuyển thành công, một bảng có tên using Pomelo.EntityFrameworkCore.MySql.Infrastructure; using CRUDWebAPIWithMySQL.Models; using Microsoft.EntityFrameworkCore;9 trong cơ sở dữ liệu public void ConfigureServices(IServiceCollection services) { services.AddDbContextPool<Your DBContext Class name>( options => options.UseMySql(Configuration.GetConnectionString(<Connection String Name>) )); services.AddMvc(); }0 Bước 8. Kiểm tra lần cuốiBây giờ chúng ta đã sẵn sàng. Tôi đã tự thêm một số hàng. Mở "ConnectionStrings": { "DBConn": "Server=8, sau đó chọn bảng của bạn rồi thêm một hàng Làm cách nào để kết nối cơ sở dữ liệu MySQL với API web?API Web Với ASP. NET 6 và MySQL . tài nguyên cần thiết ASP. Dự án API Web NET 6 Truy cập cơ sở dữ liệu với Entity Framework Ghi chú. Để tìm trung tâm quản trị của các gói NuGet, chúng ta có thể vào tùy chọn. Menu -> Dự án -> Quản lý gói NuGet Chỉ huy Bộ điều khiển cho API Web A. Lấy danh sách tất cả người dùng đã đăng ký Làm cách nào để kết nối cơ sở dữ liệu với API Web?Đây là các bước chúng ta cần làm theo. . Tạo dự án API Web trống Chọn API Web trong cửa sổ chọn mẫu Tạo bảng và Chèn dữ liệu vào bảng cơ sở dữ liệu Thêm một dịch vụ web Thêm một ADO. NET Entity Data Model Tạo kết nối mới với máy chủ SQL Tạo các thực thể từ Cơ sở dữ liệu Thêm bộ điều khiển Bạn có thể kết nối API với cơ sở dữ liệu không?Giải pháp 3. Tự động lưu dữ liệu API vào cơ sở dữ liệu. Một cách khác để lấy dữ liệu từ API là thông qua phần mềm quản lý cơ sở dữ liệu đám mây, chẳng hạn như Acho. Tại đây, bạn có thể sử dụng trình kết nối API dựng sẵn để yêu cầu điểm cuối API một cách có hệ thống và lưu trữ dữ liệu trong cơ sở dữ liệu cho các ứng dụng trong tương lai .
Làm cách nào để tạo API cho cơ sở dữ liệu MySQL?Trong thư mục dịch vụ, tạo một db. js và thêm các đoạn mã bên dưới vào tệp đó . const mysql = yêu cầu('mysql'); . createConnection({ máy chủ. "máy chủ cục bộ", người dùng. "gốc", mật khẩu. "1234", cơ sở dữ liệu. "việc cần làm", }); . |