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
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áchTạ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
3PM> Install-Package Pomelo.EntityFrameworkCore.MySql
- 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
8, có thể được sử dụng để định cấu hình các tùy chọn choPM> Install-Package Pomelo.EntityFrameworkCore.MySql
5PM> Install-Package Pomelo.EntityFrameworkCore.MySql
8 có phương thứcPM> Install-Package Pomelo.EntityFrameworkCore.MySql
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ố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; } }
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