Asp.net Core 使用EF连接MariaDb

本文档详细介绍了如何在ASP.NET Core项目中利用EF Core与MariaDb建立连接。在创建数据库模型时,遇到一个挑战:运行'dotnet ef'命令时提示找不到该命令。解决方案是先生成项目,然后在PowerShell中运行ef命令。通过这种方式,可以使用EF工具进行数据库映射。文章还列举了EF核心的常用命令,帮助开发者进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本片文章主要介绍在asp.net core中如何使用EF core 来映射mariaDb。当然,方法同样适用于mysql。在映射的过程中,遇到了一个神坑,就是使用dotnet ef命令的时候提示未找到该命令。

本次Demo使用到的环境包括:

 - VS 2017 (asp.net core 2.0)
 - MariaDb 10.2.10

为了方便,将使用DbFirst的方式进行映射。MariaDb数据库中表的结构如下:
这里写图片描述

接下来在VS中新建一个新的asp.net core mvc项目,安装Pomelo.EntityFrameworkCore.MySql
这里写图片描述
以及Microsoft.EntityFrameworkCore.ToolsMicrosoft.EntityFrameworkCore.Tools.DotNet

右键项目,打开csproj文档,结构类似如下。如果不存在以上3个包,可以手动添加到此并进行nuget还原。
这里写图片描述


此处需要注意的是:如果通过nuget安装的包可能Microsoft.EntityFrameworkCore.Tools.DotNet会作为引用包来添加,我们需要手动将他添加到工具包引用来,因此更改了的csproj如图:
这里写图片描述

接下来神坑就来了,在以前的asp.net 版本中,照理说安装了上面的tools包之后就可以运行dot

.NET Core使用 Entity Framework (EF) 连接 MariaDB 的步骤如下: 1. 首先,你需要安装必要的 NuGet 包。在命令行中运行以下命令: ``` dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.MariaDB ``` 第二个包添加了对 MariaDB 数据库的支持。 2. 然后,在你的项目中创建一个 DbContext 类。这是一个基础 EF 模型,它会关联到数据库配置: ```csharp using Microsoft.EntityFrameworkCore; using YourNamespace.Models; // 自定义模型命名空间 public class YourDbContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseMariaDB("Server=<your_server>;Port=<port>;Database=<dbname>;User Id=<username>;Password=<password>"); } public DbSet<YourTable> YourTables { get; set; } // 替换为你的表名和对应的实体类 } ``` 你需要替换 `<your_server>`、`<port>`、`<dbname>`、`<username>` 和 `<password>` 为实际的数据库连接信息。 3. 在 `Startup.cs` 文件中添加迁移操作(如果尚未进行过): ```csharp services.AddDbContext<YourDbContext>(options => options.UseMariaDB(Configuration.GetConnectionString("DefaultConnection"))); ``` 并确保已在 `appsettings.json` 或相关配置文件中定义了数据库连接字符串。 4. 完成上述设置后,你可以像使用其他 EF DbContext 一样操作数据了。例如,执行增删改查操作: ```csharp var context = new YourDbContext(); var yourEntity = new YourTable {...}; context.YourTables.Add(yourEntity); await context.SaveChangesAsync(); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值