Lõi mạng asp với cơ sở dữ liệu mysql

Trong bài viết này, chúng ta sẽ tạo một ASP đơn giản. NET Core MVC Web với MySQL làm cơ sở dữ liệu thay vì SQL Server

MySQL là một trong những cơ sở dữ liệu được sử dụng rộng rãi nhất và nó thậm chí còn có một nhánh nguồn mở có tên là MariaDB. May mắn thay, với các nhà cung cấp cơ sở dữ liệu khác nhau cho Entity Framework Core, chúng ta có thể dễ dàng định cấu hình EF để hoạt động với các cơ sở dữ liệu bao gồm MySQL và MariaDB

điều kiện tiên quyết

  1. MySQL - Trong hướng dẫn này, tôi sẽ sử dụng XAMPP
  2. Visual Studio 2022 đã cài đặt các mẫu phát triển Web
  3. NET Core 6 hoặc. NET lõi 5

Tạo một dự án mới

Mở Visual Studio -> Tạo dự án mới -> Chọn> Ứng dụng web [Trình điều khiển chế độ xem mô hình]

báo cáo quảng cáo này

Đặt mua

Tham gia bản tin để nhận thông tin cập nhật mới nhất

Thành công

Tuyệt quá. Kiểm tra hộp thư đến của bạn và nhấp vào liên kết

Lỗi

Vui lòng nhập địa chỉ email hợp lệ

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
    {
        "ConnectionStrings": {
            "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
        },
        "Logging": {
            "LogLevel": {
                "Default": "Information",
                "Microsoft.AspNetCore": "Warning"
            }
        }
    }
    0 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
    {
        "ConnectionStrings": {
            "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
        },
        "Logging": {
            "LogLevel": {
                "Default": "Information",
                "Microsoft.AspNetCore": "Warning"
            }
        }
    }
    1
  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ụ về ứng dụng Angular hoặc React 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

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
2 và thêm mục nhập
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
3 với mục nhập con cho chuỗi kết nối MySQL [e. g.
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
4], chuỗi kết nối phải ở định dạng
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
5

Khi 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

{
    "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 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 public
{
    "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 thức

{
    "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

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


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 [_______110] đượ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

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
11 hoặc để cập nhật chạy
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
12. Để 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

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


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

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
13 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

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
14 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à
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
16


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

Dừng và khởi động lại API bằng lệnh

{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
0 từ thư mục gốc của dự án, bạn sẽ thấy thông báo
{
    "ConnectionStrings": {
        "WebApiDatabase": "server=localhost; database=dotnet-5-crud-api; user=testUser; password=testPass123"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    }
}
1 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

Bạn có thể sử dụng MySQL với. NET lõi?

NET Core và MySQL đều là công nghệ mã nguồn mở và miễn phí. ASP mới. NET Core có thể chạy trên Linux và trong Bộ chứa Linux và MySQL là một trong những cơ sở dữ liệu dễ dàng nhất để bắt đầu với . Điều này làm cho sự kết hợp của ASP. NET Core và MySQL một sự kết hợp khá hấp dẫn.

Có thể ASP. NET kết nối với MySQL?

Để kết nối với cơ sở dữ liệu MySQL bằng ASP. MẠNG LƯỚI . Ghi chú. 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. Find your database's connection strings [Plesk]. Note: Change the your password value to your real database password value. Using Microsoft Visual Studio . NET create an ASP.NET Project.

Cơ sở dữ liệu nào là tốt nhất cho. NET lõi?

SQL Server là cơ sở dữ liệu phổ biến nhất khi nói về ASP. NET Core vì đó là thứ mà Microsoft cũng đang bán và cũng là thứ đầu tiên mà Entity Framework Core được phát triển cho. Đó không phải là tâm trí miễn phí bạn. Bây giờ bạn có thể sử dụng SQL Server trong Linux vì Microsoft đã phát triển phiên bản Linux mà bạn có thể sử dụng.

Cơ sở dữ liệu nào làm ASP. NET Core sử dụng?

Entity Framework Core [dành cho cơ sở dữ liệu quan hệ] Nếu bạn đang viết một ASP mới. NET Core cần hoạt động với dữ liệu quan hệ, thì Entity Framework Core [EF Core] là cách được khuyến nghị để ứng dụng của bạn truy cập dữ liệu của nó.

Chủ Đề