MySQL entityframeworkcore vs Pomelo

Pomelo.EntityFrameworkCore.MySql 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

Cài đặt lõi khung thực thể

Hãy tạo một ứng dụng mới bằng Ứng dụng Console (. NET Core) và cài đặt gói NuGet sau

Trong cửa sổ Package Manager Console, nhập lệnh sau

PM> Install-Package Microsoft.EntityFrameworkCore

Bạn cũng có thể cài đặt gói NuGet này bằng cách nhấp chuột phải vào dự án của mình trong Solution Explorer và chọn Manage Nuget Packages

MySQL entityframeworkcore vs Pomelo

Tìm kiếm Microsoft. EntityFrameworkCore và cài đặt phiên bản mới nhất bằng cách nhấn nút cài đặt

Đăng ký nhà cung cấp cốt lõi của EF

Đối với Pomelo.EntityFrameworkCore.MySql, chúng ta cần cài đặt Pomelo. Thực thểKhungLõi. MySql và sẽ nhận tất cả các gói cần thiết cho EF Core

PM> Install-Package Pomelo.EntityFrameworkCore.MySql

Bây giờ bạn đã sẵn sàng để bắt đầu ứng dụng của mình

Tạo mô hình dữ liệu

Model là tập hợp các lớp để tương tác với cơ sở dữ liệu

  • Một mô hình lưu trữ dữ liệu được truy xuất theo các lệnh từ Bộ điều khiển và được hiển thị trong Chế độ xem
  • Nó cũng có thể được sử dụng để thao tác dữ liệu để thực hiện logic nghiệp vụ

Để tạo mô hình dữ liệu cho ứng dụng của chúng tôi, chúng tôi sẽ bắt đầu với hai thực thể sau

public class Author
{
    public int AuthorId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
    public List Books { get; set; }
}

public class Book
{
    public int BookId { get; set; }
    public string Title { get; set; }
    public Author Author { get; set; }
}

Có mối quan hệ một-nhiều giữa các thực thể

PM> Install-Package Pomelo.EntityFrameworkCore.MySql
1 và
PM> Install-Package Pomelo.EntityFrameworkCore.MySql
2. Nói cách khác, một tác giả có thể viết bất kỳ số lượng sách nào và chỉ một tác giả có thể viết một cuốn sách

Tạo bối cảnh cơ sở dữ liệu

Lớp bối cảnh cơ sở dữ liệu cung cấp chức năng chính để phối hợp Entity Framework với một mô hình dữ liệu nhất định

  • Bạn tạo lớp này bằng cách lấy từ lớp
    PM> Install-Package Pomelo.EntityFrameworkCore.MySql
    
    3
  • Trong mã của bạn, bạn chỉ định những thực thể nào được bao gồm trong mô hình dữ liệu
  • Bạn cũng có thể tùy chỉnh các hành vi Entity Framework nhất định

Vì vậy, hãy thêm một lớp

PM> Install-Package Pomelo.EntityFrameworkCore.MySql
4 mới sẽ kế thừa lớp
PM> Install-Package Pomelo.EntityFrameworkCore.MySql
5

________số 8_______

Trong EF Core,

PM> Install-Package Pomelo.EntityFrameworkCore.MySql
5 có một phương thức ảo tên là
PM> Install-Package Pomelo.EntityFrameworkCore.MySql
7, phương thức này sẽ được gọi nội bộ bởi EF Core

  • Nó sẽ vượt qua trong một phiên bản
    PM> Install-Package Pomelo.EntityFrameworkCore.MySql
    
    8, có thể được sử dụng để định cấu hình các tùy chọn cho
    PM> Install-Package Pomelo.EntityFrameworkCore.MySql
    
    5
  • PM> Install-Package Pomelo.EntityFrameworkCore.MySql
    
    8 có phương thức
    public class Author
    {
        public int AuthorId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime BirthDate { get; set; }
        public List Books { get; set; }
    }
    
    public class Book
    {
        public int BookId { get; set; }
        public string Title { get; set; }
        public Author Author { get; set; }
    }
    
    1, yêu cầu một chuỗi kết nối, phiên bản máy chủ và CharSetBehavior làm tham số

Tạo nên cơ sở dữ liệu

Bây giờ, để tạo cơ sở dữ liệu bằng cách di chuyển từ mô hình của bạn, hãy cài đặt các gói sau

PM> Install-Package Microsoft.EntityFrameworkCore.Tools
PM> Install-Package Microsoft.EntityFrameworkCore.Design

Khi các gói này được cài đặt, hãy chạy lệnh sau trong Bảng điều khiển quản lý gói

Add-Migration Initial

Lệnh này tạo ra một quá trình di chuyển để tạo bộ bảng ban đầu cho mô hình của bạn. Khi nó được thực thi thành công, hãy chạy lệnh sau

Update-Database

Lệnh này áp dụng di chuyển mới cho cơ sở dữ liệu và tạo cơ sở dữ liệu trước khi áp dụng di chuyển

Bây giờ, chúng ta đã hoàn thành việc tạo các lớp và cơ sở dữ liệu cần thiết, hãy thêm một số tác giả và bản ghi sách vào cơ sở dữ liệu rồi truy xuất chúng

using (var context = new BookStore())
{
    context.Database.EnsureDeleted();
    context.Database.EnsureCreated();
    var authors = new List
    {
        new Author
        {
            FirstName ="Carson",
            LastName ="Alexander",
            BirthDate = DateTime.Parse("1985-09-01"),
            Books = new List()
            {
                new Book { Title = "Introduction to Machine Learning"},
                new Book { Title = "Advanced Topics on Machine Learning"},
                new Book { Title = "Introduction to Computing"}
            }
        },
        new Author
        {
            FirstName ="Meredith",
            LastName ="Alonso",
            BirthDate = DateTime.Parse("1970-09-01"),
            Books = new List()
            {
                new Book { Title = "Introduction to Microeconomics"}
            }
        },
        new Author
        {
            FirstName ="Arturo",
            LastName ="Anand",
            BirthDate = DateTime.Parse("1963-09-01"),
            Books = new List()
            {
                new Book { Title = "Calculus I"},
                new Book { Title = "Calculus II"}
            }
        }
    };

    context.Authors.AddRange(authors);
    context.SaveChanges();
}

using (var context = new BookStore())
{
    var list = context.Authors
        .Include(a => a.Books)
        .ToList();

    foreach (var author in list)
    {
        Console.WriteLine(author.FirstName + " " + author.LastName);

        foreach (var book in author.Books)
        {
            Console.WriteLine("\t" + book.Title);
        }
    }
}

Nếu bạn chạy ứng dụng, bạn sẽ thấy các tác giả và sách đã được chèn thành công vào cơ sở dữ liệu và được in trên bảng điều khiển

Pomelo EntityFrameworkCore MySQL là gì?

Bưởi. Thực thểKhungLõi. MySql 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 .

Lõi EF có hoạt động với MySQL không?

MySQL Connector/NET tích hợp hỗ trợ cho Entity Framework Core (EF Core) . Các yêu cầu và cấu hình của EF Core phụ thuộc vào phiên bản Connector/NET được cài đặt và các tính năng mà bạn yêu cầu. Sử dụng bảng sau để đánh giá các yêu cầu tối thiểu.