Kết nối cơ sở dữ liệu .net lõi MySQL appsetting JSON

Bài đăng này cho thấy đi qua các bước để kết nối một. NET 6 sang MySQL bằng cách sử dụng Entity Framework Core và tự động tạo/cập nhật cơ sở dữ liệu MySQL từ mã bằng cách sử dụng di chuyển EF Core

Chúng ta sẽ bắt đầu với một ví dụ. NET 6 CRUD từ một hướng dẫn tôi đã đăng gần đây, nó sử dụng nhà cung cấp db EF Core InMemory theo mặc định để thử nghiệm, chúng tôi sẽ cập nhật nó để kết nối với cơ sở dữ liệu MySQL và chạy di chuyển EF Core để tự động tạo cơ sở dữ liệu và bảng từ mã. Để biết chi tiết đầy đủ về. NET CRUD API xem. MẠNG 6. 0 - Ví dụ và Hướng dẫn API CRUD


Nội dung hướng dẫn


Công cụ cần thiết cho hướng dẫn này

Để làm theo các bước trong hướng dẫn này, bạn sẽ cần những thứ sau

  • NET SDK - bao gồm. NET runtime và các công cụ dòng lệnh
  • Visual Studio Code - trình chỉnh sửa mã chạy trên Windows, Mac và Linux. Nếu bạn có một trình chỉnh sửa mã ưa thích khác thì cũng tốt thôi
  • Tiện ích mở rộng C# cho Visual Studio Code - thêm hỗ trợ cho Mã VS để phát triển. ứng dụng NET
  • MySQL - bạn sẽ cần quyền truy cập vào phiên bản máy chủ MySQL đang chạy để API kết nối, nó có thể ở xa [e. g. Azure, AWS, v.v.] hoặc trên máy cục bộ của bạn. Máy chủ cộng đồng có sẵn miễn phí từ https. // nhà phát triển. mysql. com/downloads/mysql/, đảm bảo nó đã được khởi động để API có thể kết nối với nó. Hướng dẫn cài đặt có sẵn tại https. // nhà phát triển. mysql. com/doc/refman/8. 0/vi/đang cài đặt. html


Tải xuống và chạy ví dụ. NET API

Thực hiện theo các bước sau để tải xuống và chạy. NET 6 CRUD API trên máy cục bộ của bạn với cơ sở dữ liệu EF Core InMemory mặc định

  1. Tải xuống hoặc sao chép mã dự án hướng dẫn từ https. //github. com/cornflourblue/dotnet-6-crud-api
  2. Bắt đầu api bằng cách chạy dotnet run từ dòng lệnh trong thư mục gốc của dự án [nơi WebApi. csproj được đặt], bạn sẽ thấy thông báo Now listening on: //localhost:4000
  3. Bạn có thể kiểm tra API trực tiếp bằng một công cụ như Postman hoặc kết nối nó với ví dụ hoặc ứng dụng có sẵn

Bắt đầu ở chế độ gỡ lỗi

Bạn cũng có thể khởi động ứng dụng ở chế độ gỡ lỗi trong Mã VS bằng cách mở thư mục gốc của dự án trong Mã VS và nhấn F5 hoặc bằng cách chọn Gỡ lỗi -> Bắt đầu gỡ lỗi từ menu trên cùng, chạy ở chế độ gỡ lỗi cho phép bạn đính kèm các điểm dừng để tạm dừng thực thi và . Để biết hướng dẫn chi tiết bao gồm một video demo ngắn, hãy xem Mã VS +. NET - Gỡ lỗi một. NET Web App trong Visual Studio Code


Cập nhật. NET API để sử dụng MySQL


Thêm nhà cung cấp cơ sở dữ liệu MySQL từ NuGet

Chạy lệnh sau từ thư mục gốc của dự án để cài đặt nhà cung cấp cơ sở dữ liệu EF Core cho MySQL từ NuGet

dotnet add package Pomelo.EntityFrameworkCore.MySql


Thêm chuỗi kết nối vào cài đặt ứng dụng

Mở tệp appsettings.json và thêm mục nhập "ConnectionStrings" với mục nhập con cho chuỗi kết nối MySQL [e. g. "WebApiDatabase"], chuỗi kết nối phải ở định dạng "server=[DB SERVER URL]; database=[DB NAME]; user=[USERNAME]; password=[PASSWORD]"

Khi quá trình di chuyển EF Core tạo cơ sở dữ liệu, giá trị

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
0 sẽ là tên của cơ sở dữ liệu được tạo trong MySQL

Tệp appsettings.json được cập nhật với chuỗi kết nối sẽ giống như thế này

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}


Cập nhật bối cảnh dữ liệu để sử dụng MySQL

Lớp

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
2 đặt tại
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
3 được sử dụng để truy cập dữ liệu ứng dụng thông qua Entity Framework. Nó bắt nguồn từ lớp Entity Framework
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
4 và có thuộc tính công khai
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
5 để truy cập và quản lý dữ liệu người dùng

Cập nhật phương pháp

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
6 để kết nối với MySQL thay vì cơ sở dữ liệu trong bộ nhớ bằng cách thay thế
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
7 bằng
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
8

Lớp

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
2 được cập nhật sẽ trông như thế này

namespace WebApi.Helpers;

using Microsoft.EntityFrameworkCore;
using WebApi.Entities;

public class DataContext : DbContext
{
    protected readonly IConfiguration Configuration;

    public DataContext[IConfiguration configuration]
    {
        Configuration = configuration;
    }

    protected override void OnConfiguring[DbContextOptionsBuilder options]
    {
        // connect to mysql with connection string from app settings
        var connectionString = Configuration.GetConnectionString["WebApiDatabase"];
        options.UseMySql[connectionString, ServerVersion.AutoDetect[connectionString]];
    }

    public DbSet Users { get; set; }
}


Tạo cơ sở dữ liệu MySQL từ mã với EF Core Migration


Cài đặt công cụ dotnet ef

Các. NET Entity Framework Core [_______11_______0] được sử dụng để tạo di chuyển EF Core, để cài đặt các công cụ EF Core chạy trên toàn cầu

namespace WebApi.Helpers;

using Microsoft.EntityFrameworkCore;
using WebApi.Entities;

public class DataContext : DbContext
{
    protected readonly IConfiguration Configuration;

    public DataContext[IConfiguration configuration]
    {
        Configuration = configuration;
    }

    protected override void OnConfiguring[DbContextOptionsBuilder options]
    {
        // connect to mysql with connection string from app settings
        var connectionString = Configuration.GetConnectionString["WebApiDatabase"];
        options.UseMySql[connectionString, ServerVersion.AutoDetect[connectionString]];
    }

    public DbSet Users { get; set; }
}
1 hoặc để cập nhật chạy ____11_______2. Để biết thêm thông tin về các công cụ EF Core, hãy xem https. // tài liệu. Microsoft. com/ef/core/cli/dotnet

Thêm gói EF Core Design từ NuGet

Chạy lệnh sau từ thư mục gốc của dự án để cài đặt gói thiết kế EF Core, nó cung cấp hỗ trợ công cụ dòng lệnh đa nền tảng và được sử dụng để tạo di chuyển EF Core

dotnet add package Microsoft.EntityFrameworkCore.Design


Tạo di chuyển EF Core

Tạo các tệp di chuyển EF Core mới bằng cách chạy lệnh

namespace WebApi.Helpers;

using Microsoft.EntityFrameworkCore;
using WebApi.Entities;

public class DataContext : DbContext
{
    protected readonly IConfiguration Configuration;

    public DataContext[IConfiguration configuration]
    {
        Configuration = configuration;
    }

    protected override void OnConfiguring[DbContextOptionsBuilder options]
    {
        // connect to mysql with connection string from app settings
        var connectionString = Configuration.GetConnectionString["WebApiDatabase"];
        options.UseMySql[connectionString, ServerVersion.AutoDetect[connectionString]];
    }

    public DbSet Users { get; set; }
}
3 từ thư mục gốc của dự án [nơi cài đặt WebApi. csproj], những lần di chuyển này sẽ tạo cơ sở dữ liệu và bảng cho. NET lõi API

Thực hiện di chuyển EF Core

Chạy lệnh

namespace WebApi.Helpers;

using Microsoft.EntityFrameworkCore;
using WebApi.Entities;

public class DataContext : DbContext
{
    protected readonly IConfiguration Configuration;

    public DataContext[IConfiguration configuration]
    {
        Configuration = configuration;
    }

    protected override void OnConfiguring[DbContextOptionsBuilder options]
    {
        // connect to mysql with connection string from app settings
        var connectionString = Configuration.GetConnectionString["WebApiDatabase"];
        options.UseMySql[connectionString, ServerVersion.AutoDetect[connectionString]];
    }

    public DbSet Users { get; set; }
}
4 từ thư mục gốc của dự án để thực hiện di chuyển EF Core và tạo cơ sở dữ liệu cũng như bảng trong MySQL

Kiểm tra MySQL và bây giờ bạn sẽ thấy cơ sở dữ liệu của mình với các bảng

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
5 và
namespace WebApi.Helpers;

using Microsoft.EntityFrameworkCore;
using WebApi.Entities;

public class DataContext : DbContext
{
    protected readonly IConfiguration Configuration;

    public DataContext[IConfiguration configuration]
    {
        Configuration = configuration;
    }

    protected override void OnConfiguring[DbContextOptionsBuilder options]
    {
        // connect to mysql with connection string from app settings
        var connectionString = Configuration.GetConnectionString["WebApiDatabase"];
        options.UseMySql[connectionString, ServerVersion.AutoDetect[connectionString]];
    }

    public DbSet Users { get; set; }
}
6


Khởi động lại. MẠNG 6. 0 API CRUD

Dừng và khởi động lại API bằng lệnh dotnet run từ thư mục gốc của dự án, bạn sẽ thấy thông báo Now listening on: //localhost:4000 và API bây giờ sẽ được kết nối với MySQL


Đăng ký hoặc theo dõi tôi để cập nhật

Đăng ký kênh YouTube của tôi hoặc theo dõi tôi trên Twitter, Facebook hoặc GitHub để được thông báo khi tôi đăng nội dung mới

Khác với mã hóa

Tôi hiện đang cố gắng đi du lịch vòng quanh nước Úc bằng xe máy với vợ tôi Tina trên một cặp Royal Enfield Himalayan. Bạn có thể theo dõi cuộc phiêu lưu của chúng tôi trên YouTube, Instagram và Facebook

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

Cách kết nối với MySQL từ. .
Cài đặt MySqlConnector. Đầu tiên, cài đặt gói MySqlConnector NuGet. .
Chuỗi kết nối. Một chuỗi kết nối điển hình cho MySQL là. Máy chủ=YOURSERVER;User ID=YOURUSERID;Mật khẩu=YOURPASSWORD;Cơ sở dữ liệu=YOURDATABASE. .
Cấu hình dịch vụ [ASP. NET lõi].
Mở và sử dụng kết nối

Làm cách nào để kết nối với cơ sở dữ liệu MySQL trong asp net C#?

Để kết nối với cơ sở dữ liệu MySQL bằng ASP. MẠNG .
Tìm chuỗi kết nối cơ sở dữ liệu của bạn [Plesk]. .
Sử dụng Microsoft Visual Studio. .
Thêm một tham chiếu đến MySql. .
Thay thế giá trị trong đoạn mã sau bằng your_ConnectionString bằng thông tin cơ sở dữ liệu của bạn

Làm cách nào để kết nối với cơ sở dữ liệu SQL Server trong asp net core?

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

Làm cách nào để kết nối cơ sở dữ liệu MySQL với Entity Framework Core?

Bạn có thể kiểm tra API trực tiếp bằng một công cụ như Postman hoặc kết nối nó với ví dụ về ứng dụng Angular hoặc React có sẵn. .
Bắt đầu ở chế độ gỡ lỗi. .
Thêm nhà cung cấp cơ sở dữ liệu MySQL từ NuGet. .
Thêm chuỗi kết nối vào cài đặt ứng dụng. .
Cập nhật bối cảnh dữ liệu để sử dụng MySQL. .
Cài đặt công cụ dotnet ef. .
Thêm gói EF Core Design từ NuGet

Chủ Đề