前言

上一节创建了实体数据库,这次我们来看看怎么操作这个实体

代码实现

新建一个UserInfoController的控制器:不需要写什么代码,系统自动生成Index方法:

创建IDAL,DAL,IBLL,BLL的代码:

  1. using BYCMS.Model;
  2. using System.Linq;
  3.  
  4. namespace BYCMS.IDAL
  5. {
  6. public interface IUserInfoRepository
  7. {
  8. /// <summary>
  9. /// 获取列表
  10. /// </summary>
  11. /// <param name="db">数据库上下文</param>
  12. /// <returns>数据列表</returns>
  13. IQueryable<UserInfo> GetList(DBContainer db);
  14. /// <summary>
  15. /// 创建一个实体
  16. /// </summary>
  17. /// <param name="entity">实体</param>
  18. int Create(UserInfo entity);
  19. /// <summary>
  20. /// 删除一个实体
  21. /// </summary>
  22. /// <param name="entity">主键ID</param>
  23. int Delete(int id);
  24. /// <summary>
  25. /// 修改一个实体
  26. /// </summary>
  27. /// <param name="entity">实体</param>
  28. int Edit(UserInfo entity);
  29. /// <summary>
  30. /// 获得一个实体
  31. /// </summary>
  32. /// <param name="id">id</param>
  33. /// <returns>实体</returns>
  34. UserInfo GetById(int id);
  35. /// <summary>
  36. /// 判断一个实体是否存在
  37. /// </summary>
  38. bool IsExist(int id);
  39. }
  40. }

IDAL层-IUserInfoRepository

  1. using BYCMS.IDAL;
  2. using BYCMS.Model;
  3. using System.Data.Entity;
  4. using System.Linq;
  5.  
  6. namespace BYCMS.DAL
  7. {
  8. public class UserInfoRepository : IUserInfoRepository
  9. {
  10. /// <summary>
  11. /// 创建一个实体
  12. /// </summary>
  13. /// <param name="entity">实体</param>
  14. /// <returns></returns>
  15. public int Create(UserInfo entity)
  16. {
  17. using (DBContainer db = new DBContainer())
  18. {
  19. db.Set<UserInfo>().Add(entity);
  20. return db.SaveChanges();
  21. }
  22. }
  23. /// <summary>
  24. /// 删除一个实体
  25. /// </summary>
  26. /// <param name="id">主键ID</param>
  27. /// <returns></returns>
  28. public int Delete(int id)
  29. {
  30. using (DBContainer db = new DBContainer())
  31. {
  32. UserInfo entity = db.UserInfoSet.Find(id);
  33. db.Set<UserInfo>().Remove(entity);
  34. return db.SaveChanges();
  35. }
  36. }
  37. /// <summary>
  38. /// 修改一个实体
  39. /// </summary>
  40. /// <param name="entity">实体</param>
  41. /// <returns></returns>
  42. public int Edit(UserInfo entity)
  43. {
  44. using (DBContainer db = new DBContainer())
  45. {
  46. db.Set<UserInfo>().Attach(entity);
  47. db.Entry(entity).State = EntityState.Modified;
  48. return db.SaveChanges();
  49. }
  50. }
  51. /// <summary>
  52. /// 获得一个实体
  53. /// </summary>
  54. /// <param name="id">主键ID</param>
  55. /// <returns></returns>
  56. public UserInfo GetById(int id)
  57. {
  58. using (DBContainer db = new DBContainer())
  59. {
  60. return db.UserInfoSet.Find(id);
  61. }
  62. }
  63. /// <summary>
  64. /// 获取列表
  65. /// </summary>
  66. /// <param name="db"></param>
  67. /// <returns></returns>
  68. public IQueryable<UserInfo> GetList(DBContainer db)
  69. {
  70. IQueryable<UserInfo> list = db.UserInfoSet.AsQueryable();
  71. return list;
  72. }
  73. /// <summary>
  74. /// 判断一个实体是否存在
  75. /// </summary>
  76. /// <param name="id">主键ID</param>
  77. /// <returns></returns>
  78. public bool IsExist(int id)
  79. {
  80. using (DBContainer db = new DBContainer())
  81. {
  82. UserInfo entity = GetById(id);
  83. if (entity != null)
  84. return true;
  85. return false;
  86. }
  87. }
  88. }
  89. }

DAL层-UserInfoRepository

  1. using BYCMS.Model;
  2. using System.Collections.Generic;
  3.  
  4. namespace BYCMS.IBLL
  5. {
  6. public interface IUserInfoBLL
  7. {
  8. /// <summary>
  9. /// 获取列表
  10. /// </summary>
  11. /// <param name="pager">JQgrid分页</param>
  12. /// <param name="queryStr">搜索条件</param>
  13. /// <returns>列表</returns>
  14. List<UserInfo> GetList();
  15. /// <summary>
  16. /// 创建一个实体
  17. /// </summary>
  18. /// <param name="errors">持久的错误信息</param>
  19. /// <param name="model">模型</param>
  20. /// <returns>是否成功</returns>
  21. bool Create(UserInfo model);
  22. /// <summary>
  23. /// 删除一个实体
  24. /// </summary>
  25. /// <param name="errors">持久的错误信息</param>
  26. /// <param name="id">id</param>
  27. /// <returns>是否成功</returns>
  28. bool Delete(int id);
  29. /// <summary>
  30. /// 修改一个实体
  31. /// </summary>
  32. /// <param name="errors">持久的错误信息</param>
  33. /// <param name="model">模型</param>
  34. /// <returns>是否成功</returns>
  35. bool Edit(UserInfo model);
  36. /// <summary>
  37. /// 根据ID获得一个Model实体
  38. /// </summary>
  39. /// <param name="id">id</param>
  40. /// <returns>Model实体</returns>
  41. UserInfo GetById(int id);
  42. /// <summary>
  43. /// 判断是否存在实体
  44. /// </summary>
  45. /// <param name="id">主键ID</param>
  46. /// <returns>是否存在</returns>
  47. bool IsExist(int id);
  48. }
  49. }

IBLL层-IUserInfoBLL

  1. using BYCMS.Common;
  2. using BYCMS.DAL;
  3. using BYCMS.IBLL;
  4. using BYCMS.IDAL;
  5. using BYCMS.Model;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8.  
  9. namespace BYCMS.BLL
  10. {
  11. public class UserInfoBLL : IUserInfoBLL
  12. {
  13. DBContainer db = new DBContainer();
  14. IUserInfoRepository rep = new UserInfoRepository();
  15.  
  16. /// <summary>
  17. /// 创建一个实体
  18. /// </summary>
  19. /// <param name="errors"></param>
  20. /// <param name="model"></param>
  21. /// <returns></returns>
  22. public bool Create(UserInfo model)
  23. {
  24. if (rep.Create(model) == )
  25. {
  26. return true;
  27. }
  28. return false;
  29. }
  30. /// <summary>
  31. /// 根据id删除实体
  32. /// </summary>
  33. /// <param name="errors"></param>
  34. /// <param name="id"></param>
  35. /// <returns></returns>
  36. public bool Delete(int id)
  37. {
  38. if(rep.Delete(id) > )
  39. {
  40. return true;
  41. }
  42. return false;
  43. }
  44. /// <summary>
  45. /// 编辑实体
  46. /// </summary>
  47. /// <param name="errors"></param>
  48. /// <param name="model"></param>
  49. /// <returns></returns>
  50. public bool Edit(UserInfo model)
  51. {
  52. if (rep.Edit(model) > )
  53. {
  54. return true;
  55. }
  56. return false;
  57. }
  58. /// <summary>
  59. /// 根据id查找实体
  60. /// </summary>
  61. /// <param name="id"></param>
  62. /// <returns></returns>
  63. public UserInfo GetById(int id)
  64. {
  65. return rep.GetById(id);
  66. }
  67. /// <summary>
  68. /// 实体列表
  69. /// </summary>
  70. /// <param name="pager"></param>
  71. /// <param name="queryStr"></param>
  72. /// <returns></returns>
  73. public List<UserInfo> GetList()
  74. {
  75. IQueryable<UserInfo> queryData = rep.GetList(db);
  76. return queryData.ToList();
  77. }
  78. /// <summary>
  79. /// 判断是否存在实体
  80. /// </summary>
  81. /// <param name="id"></param>
  82. /// <returns></returns>
  83. public bool IsExist(int id)
  84. {
  85. return rep.IsExist(id);
  86. }
  87. }
  88. }

BLL层-UserInfoBLL

  1. @{
  2. Layout = null;
  3. }
  4.  
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta charset="utf-8">
  9. <title>用户中心</title>
  10. <meta name="renderer" content="webkit">
  11. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  12. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  13. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  14. <meta name="apple-mobile-web-app-capable" content="yes">
  15. <meta name="format-detection" content="telephone=no">
  16. <link rel="stylesheet" href="~/Content/layui/css/layui.css" media="all" />
  17. <link rel="stylesheet" href="~/Content/css/public.css" media="all" />
  18. </head>
  19. <body class="childrenBody">
  20. <blockquote class="layui-elem-quote quoteBox">
  21. <form class="layui-form">
  22. <div class="layui-inline">
  23. <div class="layui-input-inline">
  24. <input type="text" class="layui-input searchVal" placeholder="请输入搜索的内容" />
  25. </div>
  26. <a class="layui-btn search_btn" data-type="reload">搜索</a>
  27. </div>
  28. <div class="layui-inline">
  29. <a class="layui-btn layui-btn-normal addNews_btn">添加用户</a>
  30. </div>
  31. <div class="layui-inline">
  32. <a class="layui-btn layui-btn-danger layui-btn-normal delAll_btn">批量删除</a>
  33. </div>
  34. </form>
  35. </blockquote>
  36. <table id="userList" lay-filter="userList"></table>
  37. <!--操作-->
  38. <script type="text/html" id="userListBar">
  39. <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
  40. <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="usable">已启用</a>
  41. <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>
  42. </script>
  43. <script type="text/javascript" src="~/Content/layui/layui.js"></script>
  44. <script type="text/javascript" src="~/Content/js/user/userList.js"></script>
  45. </body>
  46. </html>

Index.cshtml

我们往数据库插入几条记录这时你应该看到效果了

ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(7)- EF增删改查的更多相关文章

  1. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(1)

    文章转自:http://www.xuboyi.com/298.html 前言 网站运营有一段时间了,记录的内容都是杂七杂八的,思前想后,决定给大家分享一套ASP.Net的系列教程.手把手的做一套通用后 ...

  2. ASP.NET MVC5 + EF6 + LayUI实战教程,通用后台管理系统框架(3)

    前言 本节将我们自己的CSS样式替换系统自带的 开始搭建 将脚本文件夹删掉,将内容文件夹里的内容删掉,将我们自己的CSS样式文件,全部复制到内容里边 新建家庭控制器 给家庭控制器添加索引视图 指数代码 ...

  3. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(4)- 漂亮的登录界面

    前言 这一讲,给大家添加登录页面 实现 添加Login的Index视图 @{ Layout = null; } <!DOCTYPE html> <html class="l ...

  4. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(2)

    前言 本节先给大家搭建UI部分,让大家能看到点东西,就好像所有编程书里,开始都是一个Hello World一样 开始搭建 首先建立空白解决方案,我们命名为BYCMS 然后添加新项目BYCMS 我习惯用 ...

  5. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(6)- 创建数据库

    前言 其实网站就是一座连接用户和数据库的梁桥,数据库通过网站,将信息以不同的方式,展现给客户,客户通过网站,对数据库进行各种操作 下面,我们用一个例子,给大家展示下基本的增删改查操作 创建数据库 创建 ...

  6. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(5)- 创建项目结构

    前言 关于理论知识,我的表达能力有限,知识水平有限,就不过多的讲解编程工作中的专用术语了,大家写的代码多了,自然就懂了 前几节课,我们看到了后台的主页面,以及一个自认为比较漂亮的登录界面,算是编程套路 ...

  7. (菜鸟要飞系列)三,基于Asp.Net MVC5的后台管理系统(用户的增删改查功能)

    这些天被项目,考试整昏了头脑,没时间更新,我已经将这一部分全部做完了,现在把代码放上来,大家可以自己研究,有问题可以私聊,这里把图放上来 http://download.csdn.net/detail ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...

  9. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

随机推荐

  1. hdu 4961 数论?

    http://acm.hdu.edu.cn/showproblem.php?pid=4961 给定ai数组; 构造bi, k=max(j | 0<j<i,a j%ai=0), bi=ak; ...

  2. js加减运算·传参

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. ASP.NET Web API 框架研究 核心的消息处理管道

    ASP.NET Web API 的核心框架是一个由一组HttpMessageHandler有序组成的双工消息处理管道:寄宿监听到请求接受后,把消息传入该管道经过所有HttpMessageHandler ...

  4. Python自动化开发 - 常用模块(二)

    本节内容 1.shutil模块 2.shelve模块 3.xml处理模块 4.configparser模块 5.hashlib模块 6.subprocess模块 7.re模块 一.shutil模块 高 ...

  5. UNIGUI上传文件

    UNIGUI上传文件 uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFi ...

  6. mysql 幻象读

    [sql] view plain copy CREATE TABLE `t100` ( `id` bigint(20) NOT NULL default '0', `value` varchar(32 ...

  7. 如何将Excel 图表导出

    简单分三步: Step1: Alt+ F11 --> 调出 VBA: Step2: Ctrl+G (开关键)—>调出立即窗口: Step3:  在立即窗口输入  activesheet.C ...

  8. 实验4 IIC通讯与EEPROM接口

    1.       用C语言编程,利用定时器产生一个0~99秒变化的秒表,并且显示在数码管上,每过一秒将这个变化写入实验板上AT24C02,当关闭实验板电源,并再次打开实验板电源时,单片机从AT24C0 ...

  9. 《基于MVC的JavaScript Web富应用开发》学习笔记

    第1章 MVC和类 1. 什么是MVC? MVC是一种设计模式, 它将应用划分为3个部分: 数据(模型, Model), 展现层(视图, View) 和用户交互层(控制器, Controller). ...

  10. OCP 062考试题库2019年新出现的考题-17

    choose one What is a pre-requisite to alter a role? A) You should set the OS_ROLES parameter to true ...