.NET5控制台程序使用EF连接MYSQL数据库的方法

下面是详细讲解“.NET5控制台程序使用EF连接MYSQL数据库的方法”的完整攻略:

准备工作

  1. 确认已经安装.NET5、EF(Core)等必要的环境和工具。
  2. 安装Pomelo.EntityFrameworkCore.MySql(用于支持EF连接MYSQL数据库的驱动程序)。

创建控制台程序

使用dotnet命令行工具创建一个新的.NET5控制台程序:

dotnet new console -n MyConsoleApp

添加依赖库

修改MyConsoleApp.csproj文件,添加Pomelo.EntityFrameworkCore.MySqlMicrosoft.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是数据库名称,UserPassword是连接数据库的用户名和密码。

运行代码

对程序进行测试,可以在终端中进入到该控制台程序的根目录,执行命令dotnet run即可运行代码。运行代码后,程序会使用EF Core连接到MYSQL数据库,创建一个名为bookstore的数据库,并添加模型数据到该数据库中,最后查询该数据库中的所有模型,将查询结果输出到控制台上。

示例说明:

  1. 添加新的书籍模型数据:
using (var context = new MyContext())
{
    var newBook = new Book { Title = "Book4", Author = "Author4", Price = 40.0m };
    context.Books.Add(newBook);
    context.SaveChanges();
}
  1. 修改模型数据:
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技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 在WPF中合并两个ObservableCollection集合

    在WPF中合并两个ObservableCollection集合的攻略可以分为以下步骤: 1. 创建两个ObservableCollection集合 首先,我们需要创建两个不同的ObservableCollection集合,并分别往其中添加数据,如下所示: ObservableCollection<string> collection1 = new…

    C# 2023年6月6日
    00
  • wpf RelativeSource绑定

    RelativeSource有四种类型 Self FindAncestor TemplatedParent PreviousData   a.Self Self用于绑定源和绑定目标相同的场景中。对象的一个属性与同一对象的另一个属性绑定。 例如,让我们取一个高度和宽度相同的椭圆。在XAML文件中添加下面给出的代码。宽度属性与高度属性相对绑定。 <Grid…

    C# 2023年4月18日
    00
  • C#中partial关键字的作用

    接下来我会详细讲解一下“C#中partial关键字的作用”。 什么是 partial 关键字 partial 是 C# 中的一个特殊关键字,用于修饰一个类、结构体、接口或方法,表示该类、结构体、接口或方法可分成多个部分进行定义。 partial 关键字的作用 使用 partial 关键字可以将一个类、结构体或接口的定义分拆到多个文件中进行定义。 这种方式的主…

    C# 2023年6月7日
    00
  • C# WPF 建立无边框(标题栏)的登录窗口的示例

    下面是C#WPF建立无边框(标题栏)的登录窗口的完整攻略,包含两条示例。 1. 在XAML中设置窗口样式 我们可以在XAML文件中设置窗口的样式。首先,我们需要设置窗口的ResizeMode属性为NoResize,这将禁用窗口的缩放功能。接着,我们可以设置窗口Chrome样式为None,这将清除窗口的默认边框,而且我们需要手动添加窗口的标题栏和关闭按钮。 &…

    C# 2023年5月15日
    00
  • 基于mvc5+ef6+Bootstrap框架实现身份验证和权限管理

    基于mvc5+ef6+Bootstrap框架实现身份验证和权限管理的完整攻略如下: 1. 环境准备 首先,需要安装Visual Studio(建议安装最新版),并安装.Net Framework、MVC5、EF6等程序集。安装完后,打开Visual Studio,创建一个MVC5项目作为基础框架。 2. 实现身份验证 2.1 配置身份认证 在MVC5项目中,…

    C# 2023年5月31日
    00
  • C#的四个基本技巧

    下面是C#的四个基本技巧的完整攻略: 1. 变量 在C#中,我们就需要使用变量来保存和操作数据。变量是存储值的存储器,可以提供不同类型的名称。在C#中,我们使用关键字var、bool、int、float、double、decimal、DateTime等来定义变量。 下面是一个简单的示例,展示如何定义一个整数类型的变量并对其进行基本操作。代码如下: int a…

    C# 2023年5月15日
    00
  • C#下载歌词文件的同步和异步方法

    下面是关于C#下载歌词文件的同步和异步方法的完整攻略: 1. 同步方法: 1.1 首先,我们需要引入System.Net命名空间下的WebClient类。 WebClient类可以实现简单的HTTP协议,我们可以通过它来下载歌词文件。 1.2 接下来,我们可以使用DownloadFile方法实现下载。 DownloadFile方法有两个参数,第一个参数为待下…

    C# 2023年5月31日
    00
  • .NET 常用功能和代码小结

    .NET 常用功能和代码小结 在 .NET 中,常见的功能和代码小结包括但不限于以下几个方面: 文件操作 文件读取 .NET 提供了 System.IO 命名空间用于文件操作,其中 FileStream 和 StreamReader 是常见的文件读取方式。以下是示例代码: using (var stream = new FileStream("te…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部