下面是详细讲解“.NET5控制台程序使用EF连接MYSQL数据库的方法”的完整攻略:
准备工作
- 确认已经安装.NET5、EF(Core)等必要的环境和工具。
- 安装
Pomelo.EntityFrameworkCore.MySql
(用于支持EF连接MYSQL数据库的驱动程序)。
创建控制台程序
使用dotnet
命令行工具创建一个新的.NET5控制台程序:
dotnet new console -n MyConsoleApp
添加依赖库
修改MyConsoleApp.csproj
文件,添加Pomelo.EntityFrameworkCore.MySql
和Microsoft.EntityFrameworkCore.Design
依赖库:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="5.0.0-alpha.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.0" />
</ItemGroup>
</Project>
创建模型
使用EF(Core)的Code First方式,创建模型。例如,我们创建一个简单的Book
模型:
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public decimal Price { get; set; }
}
配置数据库连接
在Program.cs
文件的Main
方法中添加如下代码:
using (var context = new MyContext())
{
context.Database.EnsureDeleted(); // 删除现有数据库(仅限测试用)
context.Database.EnsureCreated(); // 创建新的数据库
// 添加测试数据
context.Books.AddRange(new List<Book>
{
new Book{ Title="Book1", Author="Author1", Price=10.0m},
new Book{ Title="Book2", Author="Author2", Price=20.0m},
new Book{ Title="Book3", Author="Author3", Price=30.0m},
});
context.SaveChanges();
// 查询数据
var books = context.Books.ToList();
foreach (var book in books)
{
Console.WriteLine($"{book.Id} {book.Title} {book.Author} {book.Price}");
}
}
public class MyContext : DbContext
{
public DbSet<Book> Books { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql("Server=localhost;Database=bookstore;User=root;Password=123456");
}
}
在OnConfiguring
方法中,使用UseMySql
方法指定连接字符串,其中Server
是MYSQL数据库的地址,Database
是数据库名称,User
和Password
是连接数据库的用户名和密码。
运行代码
对程序进行测试,可以在终端中进入到该控制台程序的根目录,执行命令dotnet run
即可运行代码。运行代码后,程序会使用EF Core连接到MYSQL数据库,创建一个名为bookstore
的数据库,并添加模型数据到该数据库中,最后查询该数据库中的所有模型,将查询结果输出到控制台上。
示例说明:
- 添加新的书籍模型数据:
using (var context = new MyContext())
{
var newBook = new Book { Title = "Book4", Author = "Author4", Price = 40.0m };
context.Books.Add(newBook);
context.SaveChanges();
}
- 修改模型数据:
using (var context = new MyContext())
{
var book = context.Books.FirstOrDefault(b => b.Title == "Book3");
if (book != null)
{
book.Price = 35.0m;
context.SaveChanges();
}
}
以上就是使用EF在.NET5控制台程序中连接MYSQL数据库的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET5控制台程序使用EF连接MYSQL数据库的方法 - Python技术站