🐱 算神的小窝 🤓

EFCore8使用MariaDB.md


CreationTime:7/13/2024 5:47:22 PM LastAccessTime:4/24/2025 9:30:05 AM


EF Core 8 (EntityFrameworkCore 8)是一个流行的开源 ORM(对象关系映射)框架,用于将 .NET 8应用程序中的实体类映射到数据库中。而 MariaDB 是一个开源的关系型数据库管理系统,是 MySQL 的一个分支。

在使用 EFCore8 连接和操作 MariaDB 数据库时,通常需要遵循以下步骤:

  1. 安装相关Nuget包

    dotnet add package Pomelo.EntityFrameworkCore.MySql
    dotnet add package Microsoft.EntityFrameworkCore.Design
    
  2. 连接字符串:创建一个有效的连接字符串来连接到 MariaDB 数据库。连接字符串通常包含数据库名称、用户名、密码、服务器地址等信息。

    示例:

    services.AddDbContext<MyDbContext>(options =>
        options.UseMySql("server=localhost;database=mydb;user=root;password=your_password;", new MariaDbServerVersion("10.11.0")));
    
  3. 通过DBFirst生成实体类和上下文(DbContext):定义与数据库表对应的 C# 实体类。

    # dotnet ef dbcontext scaffold "数据库连接字符串" 数据库提供程序 -o 输出文件夹
    dotnet ef dbcontext scaffold "server=localhost;database=mydb;user=root;password=your_password;" Pomelo.EntityFrameworkCore.MySql -o Models
    
  4. CRUD 操作:通过 EFCore 提供的方法进行增删改查操作。

以下是一个简单的示例:

public class MyDbContext : DbContext
{
    public DbSet<MyEntity> MyEntities { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        // 配置使用 MariaDB 数据库
        => optionsBuilder.UseMySql("server=localhost;database=mydb;user=root;password=your_password;", new MariaDbServerVersion("10.11.0"));
}

public class MyEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
}

这样,你就可以使用 EFCore8 来与 MariaDB 数据库进行交互了。

An unhandled error has occurred. Reload 🗙