如何实现 .NET Core MVC 与 MySQL 的增删改查
在现代应用程序开发中,熟悉 MVC 框架和数据库操作是每位开发者必备的技能。本文将为刚入行的小白详细介绍如何在 .NET Core MVC 中实现与 MySQL 进行数据的增删改查(CRUD)。以下是整个实现过程的步骤总结。
整体流程
步骤 | 描述 |
---|---|
1 | 创建 .NET Core MVC 项目 |
2 | 安装 Entity Framework Core 和 MySQL 提供程序 |
3 | 配置数据库连接 |
4 | 创建模型 |
5 | 创建数据库上下文 |
6 | 创建控制器及视图 |
7 | 实现CRUD方法 |
8 | 运行并测试应用 |
步骤详解
1. 创建 .NET Core MVC 项目
首先,在命令行中输入以下命令来创建一个新的 .NET Core MVC 项目:
dotnet new mvc -n MyMvcApp
这条命令会创建一个名为
MyMvcApp
的新 MVC 项目。
2. 安装 Entity Framework Core 和 MySQL 提供程序
在项目目录下,使用 NuGet 安装 Entity Framework Core 和 MySQL 提供程序:
dotnet add package Pomelo.EntityFrameworkCore.MySql
Pomelo 是开源的 MySQL 数据库提供程序,可以让 EF Core 支持 MySQL。
3. 配置数据库连接
在 appsettings.json
文件中添加数据库连接字符串:
{
"ConnectionStrings": {
"DefaultConnection": "server=localhost;database=mydatabase;user=myuser;password=mypassword;"
}
}
这里需要根据你的数据库信息替换
mydatabase
、myuser
和mypassword
。
4. 创建模型
在项目中创建一个新的模型类,例如 Product.cs
:
public class Product
{
public int Id { get; set; } // 产品ID
public string Name { get; set; } // 产品名称
public decimal Price { get; set; } // 产品价格
}
这是一个简单的产品类,包含 ID、名称和价格属性。
5. 创建数据库上下文
创建 ApplicationDbContext.cs
类,并继承自 DbContext
:
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { }
public DbSet<Product> Products { get; set; } // 数据集,代表产品表
}
这个上下文类将用于与数据库进行交互。
6. 修改 Startup 类
在 Startup.cs
中配置依赖注入:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"),
ServerVersion.AutoDetect(Configuration.GetConnectionString("DefaultConnection"))));
services.AddControllersWithViews();
}
这段代码将
ApplicationDbContext
添加到 DI 容器中。
7. 创建控制器及视图
使用以下命令创建一个控制器:
dotnet aspnet-codegenerator controller -name ProductController -m Product -dc ApplicationDbContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries
这将为产品模型和数据库上下文生成一个控制器。
后续需要在控制器中添加 CRUD 方法。例如,添加一个创建新产品的方法:
public async Task<IActionResult> Create(Product product)
{
if (ModelState.IsValid)
{
_context.Add(product); // 添加新的产品到上下文
await _context.SaveChangesAsync(); // 保存更改到数据库
return RedirectToAction(nameof(Index)); // 重定向到索引页面
}
return View(product);
}
该方法将执行创建操作。
8. 运行并测试应用
使用以下命令启动应用程序:
dotnet run
打开浏览器访问
http://localhost:5000
,并测试增删改查功能。
结尾
通过上述步骤和代码示例,你已经可以在 .NET Core MVC 中完成与 MySQL 数据库的基本 CRUD 操作。如果需要深入了解,可以继续学习 Entity Framework Core 的更多特性,以及如何做好数据库的设计和优化。希望这篇文章对你的学习有所帮助,祝你在开发的道路上不断进步!