分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

MVC5+EF6实现增删改查

发布时间:2023-09-06 02:29责任编辑:蔡小小关键词:MVC

首先在项目工程里面添加NuGet包;EntityFramework、EntityFramework.SqlServerCompact

在Models里面添加类(和数据库表字段,类型匹配)

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace mvcuser.Models{ ???public class Userinfo ???{ ???????[System.ComponentModel.DataAnnotations.Key] ?/*注释userid是主键*/ ???????public int userid { get; set; } ???????public string name { get; set; } ???????public string password { get; set; } ???????public string sex { get; set; } ???}}

然后再添加一个上下文文件用来关联数据库UsrerContext

using System;using System.Collections.Generic;using System.Data.Entity;using System.Data.Entity.ModelConfiguration.Conventions;using System.Linq;using System.Web;using mvcuser.Models;namespace mvcuser.Models{ ???public class UsrerContext:DbContext ???{ ???????public UsrerContext() : base("name=SQLstring") ???????{ ???????} ???????public DbSet<Userinfo> Userinfo { get; set; }//关联数据表 ???????//DbSet是一个模版类,<>中代表的是模版类中的对象类型, TEntity是一个类,可以是自定义的,也可以是系统中已经定义好的类 ???????//DBContext类重写方法: ???????//EF默认会在数据库里生成一个重复的表(es、s)Entity Framework 映射的时候默认给数据库表名添加复数“s”或者“es” ???????//modelBuilder.Conventions.Remove更改避免生成重复 ???????protected override void OnModelCreating(DbModelBuilder modelBuilder) ???????{ ???????????base.OnModelCreating(modelBuilder); ???????????modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); ???????} ???}}

然后就是新建一个控制器UserController

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using mvcuser.Models;namespace mvcuser.Controllers{ ???public class UserController : Controller ???{ ???????// GET: User ???????public ActionResult Index() ???????{ ???????????UsrerContext uc = new UsrerContext(); ???????????return View(uc.Userinfo.ToList()); ???????} ???}}

在UserController控制器中添加Index视图

Index视图

@model IEnumerable<mvcuser.Models.Userinfo>@{ ???ViewBag.Title = "Index";}<h2>Index</h2><p> ???@Html.ActionLink("Create New", "Create")</p>@*查询*@<form action="~/User/searcher" method="post"> ???名称:<input type="text" name="name" /> ??????<select name="sex"> ??????????<option value="男">男</option> ??????????<option value="女">女</option> ??????</select> ???<input type="submit" value="查询" /></form><table class="table"> ???<tr> ???????<th> ???????????名称 ???????????@*@Html.DisplayNameFor(model => model.name)*@ ???????</th> ???????<th> ???????????密码 ???????????@*@Html.DisplayNameFor(model => model.password)*@ ???????</th> ???????<th> ???????????性别 ???????????@*@Html.DisplayNameFor(model => model.sex)*@ ???????</th> ???????<th></th> ???</tr>@foreach (var item in Model) { ???<tr> ???????<td> ???????????@Html.DisplayFor(modelItem => item.name) ???????</td> ???????<td> ???????????@Html.DisplayFor(modelItem => item.password) ???????</td> ???????<td> ???????????@Html.DisplayFor(modelItem => item.sex) ???????</td> ???????<td> ???????????@Html.ActionLink("编辑", "Edit", new { id=item.userid }) | ???????????@Html.ActionLink("查看", "Details", new { id=item.userid }) | ???????????@Html.ActionLink("删除", "Delete", new { id=item.userid }) ???????</td> ???</tr>}</table>

成功显示了,所有的数据

然后在UserController添加功能需求,增删查改;添加对应的视图

 ???public class UserController : Controller ???{ ???????// GET: User ???????public ActionResult Index() ???????{ ???????????UsrerContext uc = new UsrerContext(); ???????????return View(uc.Userinfo.ToList()); ???????} ???????//查看 ???????public ActionResult Details(int id) ???????{ ???????????UsrerContext User = new UsrerContext(); ???????????var userDetails = User.Userinfo.Where(x => x.userid == id); ???????????return View(userDetails.ToList()[0]); ???????} ???????//数据添加 ???????public ActionResult Create() ???????{ ???????????return View(); ???????} ???????public ActionResult Add(Userinfo user) ???????{ ???????????UsrerContext US = new UsrerContext(); ???????????US.Userinfo.Add(user); ???????????US.SaveChanges();//更新保存 ???????????return View("Index", US.Userinfo.ToList()); ???????} ???????//编辑 ???????public ActionResult Edit(int id) ???????{ ???????????UsrerContext Edit = new UsrerContext(); ???????????var user = Edit.Userinfo.Where(x => x.userid == id); ???????????return View(user.ToList()[0]); ???????} ???????public ActionResult update(Userinfo user) ???????{ ???????????UsrerContext upda = new UsrerContext(); ???????????//查询数据 ???????????var userUP = upda.Userinfo.Where(x => x.userid == user.userid); ???????????//新数据覆盖旧数据 ???????????userUP.ToList()[0].name = user.name; ???????????userUP.ToList()[0].password = user.password; ???????????userUP.ToList()[0].sex = user.sex; ???????????upda.SaveChanges();//进行保存更新 ???????????return View("Index", upda.Userinfo.ToList()); ???????} ???????//删除 ???????public ActionResult Delete(int id) ???????{ ???????????UsrerContext Det = new UsrerContext(); ???????????var user = Det.Userinfo.Where(x => x.userid == id); ???????????Det.Userinfo.Remove(user.ToList()[0]); ???????????Det.SaveChanges(); ???????????return View("Index", Det.Userinfo.ToList()); ???????} ???????//查询 ???????[HttpPost] ???????public ActionResult searcher(string name, string sex) ???????{ ???????????UsrerContext sear = new UsrerContext(); ???????????//var user = sear.Userinfo.Where(x => x.name == name); ???????????var user = sear.Userinfo.Where(x => x.name.Contains(name)).Where(x => x.sex.Contains(sex));//Contains包含查询 ???????????return View("Index", user.ToList()); ???????} ???}

对应的视图

MVC5+EF6实现增删改查

原文地址:https://www.cnblogs.com/live8/p/10264078.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved