asp.net coremvc+efcore增删改查

2023-10-05 11:59

本文主要是介绍asp.net coremvc+efcore增删改查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面是一个使用 EF Core 在 ASP.NET Core MVC 中完成增删改查的示例:

  1. 创建一个新的 ASP.NET Core MVC 项目。

  2. 安装 EF Core 相关的 NuGet 包。在项目文件 (.csproj) 中添加以下依赖项:

<ItemGroup><PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.10" /><PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.10"><PrivateAssets>all</PrivateAssets><IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets></PackageReference>
</ItemGroup>

确保将 Version 指定为你当前使用的 EF Core 版本。

  1. 创建一个名为 TodoItem 的实体类,定义在你的应用程序中需要存储的数据。
public class TodoItem
{public int Id { get; set; }public string Title { get; set; }public bool IsCompleted { get; set; }
}
  1. 创建一个继承自 DbContext 的类 AppDbContext,并在其中定义实体集。
public class AppDbContext : DbContext
{public AppDbContext(DbContextOptions<AppDbContext> options): base(options){}public DbSet<TodoItem> TodoItems { get; set; }
}
  1. Startup.csConfigureServices 方法中添加数据库上下文的配置。
public void ConfigureServices(IServiceCollection services)
{services.AddDbContext<AppDbContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));// ...
}

确保在 appsettings.json 文件中添加名为 DefaultConnection 的数据库连接字符串。

  1. 创建一个简单的控制器 TodoItemsController,并添加以下操作方法。
public class TodoItemsController : Controller
{private readonly AppDbContext _dbContext;public TodoItemsController(AppDbContext dbContext){_dbContext = dbContext;}public IActionResult Index(){var todoItems = _dbContext.TodoItems.ToList();return View(todoItems);}public IActionResult Create(){return View();}[HttpPost]public IActionResult Create(TodoItem todoItem){if (ModelState.IsValid){_dbContext.TodoItems.Add(todoItem);_dbContext.SaveChanges();return RedirectToAction(nameof(Index));}return View(todoItem);}public IActionResult Edit(int id){var todoItem = _dbContext.TodoItems.Find(id);if (todoItem == null){return NotFound();}return View(todoItem);}[HttpPost]public IActionResult Edit(int id, TodoItem todoItem){if (id != todoItem.Id){return NotFound();}if (ModelState.IsValid){_dbContext.Update(todoItem);_dbContext.SaveChanges();return RedirectToAction(nameof(Index));}return View(todoItem);}public IActionResult Delete(int id){var todoItem = _dbContext.TodoItems.Find(id);if (todoItem == null){return NotFound();}return View(todoItem);}[HttpPost, ActionName("Delete")]public IActionResult DeleteConfirmed(int id){var todoItem = _dbContext.TodoItems.Find(id);if (todoItem == null){return NotFound();}_dbContext.TodoItems.Remove(todoItem);_dbContext.SaveChanges();return RedirectToAction(nameof(Index));}
}
  1. 创建对应的视图文件。在 Views/TodoItems 目录下创建 Index.cshtmlCreate.cshtmlEdit.cshtmlDelete.cshtml

  2. 运行应用程序,并访问 https://localhost:{port}/TodoItems,将能够执行增删改查操作。

这是一个简单的使用 EF Core 完成增删改查的示例,你可以根据实际需求进行适当的调整和扩展。

这篇关于asp.net coremvc+efcore增删改查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/133790

相关文章

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2