前言
上一節創建了實體數據庫,這次我們來看看怎么操作這個實體
代碼實現
新建一個UserInfoController的控制器:不需要寫什么代碼,系統自動生成Index方法:
創建IDAL,DAL,IBLL,BLL的代碼:

using BYCMS.Model; using System.Linq; namespace BYCMS.IDAL { public interface IUserInfoRepository { /// <summary> /// 獲取列表 /// </summary> /// <param name="db">數據庫上下文</param> /// <returns>數據列表</returns> IQueryable<UserInfo> GetList(DBContainer db); /// <summary> /// 創建一個實體 /// </summary> /// <param name="entity">實體</param> int Create(UserInfo entity); /// <summary> /// 刪除一個實體 /// </summary> /// <param name="entity">主鍵ID</param> int Delete(int id); /// <summary> /// 修改一個實體 /// </summary> /// <param name="entity">實體</param> int Edit(UserInfo entity); /// <summary> /// 獲得一個實體 /// </summary> /// <param name="id">id</param> /// <returns>實體</returns> UserInfo GetById(int id); /// <summary> /// 判斷一個實體是否存在 /// </summary> bool IsExist(int id); } }

using BYCMS.IDAL; using BYCMS.Model; using System.Data.Entity; using System.Linq; namespace BYCMS.DAL { public class UserInfoRepository : IUserInfoRepository { /// <summary> /// 創建一個實體 /// </summary> /// <param name="entity">實體</param> /// <returns></returns> public int Create(UserInfo entity) { using (DBContainer db = new DBContainer()) { db.Set<UserInfo>().Add(entity); return db.SaveChanges(); } } /// <summary> /// 刪除一個實體 /// </summary> /// <param name="id">主鍵ID</param> /// <returns></returns> public int Delete(int id) { using (DBContainer db = new DBContainer()) { UserInfo entity = db.UserInfoSet.Find(id); db.Set<UserInfo>().Remove(entity); return db.SaveChanges(); } } /// <summary> /// 修改一個實體 /// </summary> /// <param name="entity">實體</param> /// <returns></returns> public int Edit(UserInfo entity) { using (DBContainer db = new DBContainer()) { db.Set<UserInfo>().Attach(entity); db.Entry(entity).State = EntityState.Modified; return db.SaveChanges(); } } /// <summary> /// 獲得一個實體 /// </summary> /// <param name="id">主鍵ID</param> /// <returns></returns> public UserInfo GetById(int id) { using (DBContainer db = new DBContainer()) { return db.UserInfoSet.Find(id); } } /// <summary> /// 獲取列表 /// </summary> /// <param name="db"></param> /// <returns></returns> public IQueryable<UserInfo> GetList(DBContainer db) { IQueryable<UserInfo> list = db.UserInfoSet.AsQueryable(); return list; } /// <summary> /// 判斷一個實體是否存在 /// </summary> /// <param name="id">主鍵ID</param> /// <returns></returns> public bool IsExist(int id) { using (DBContainer db = new DBContainer()) { UserInfo entity = GetById(id); if (entity != null) return true; return false; } } } }

using BYCMS.Model; using System.Collections.Generic; namespace BYCMS.IBLL { public interface IUserInfoBLL { /// <summary> /// 獲取列表 /// </summary> /// <param name="pager">JQgrid分頁</param> /// <param name="queryStr">搜索條件</param> /// <returns>列表</returns> List<UserInfo> GetList(); /// <summary> /// 創建一個實體 /// </summary> /// <param name="errors">持久的錯誤信息</param> /// <param name="model">模型</param> /// <returns>是否成功</returns> bool Create(UserInfo model); /// <summary> /// 刪除一個實體 /// </summary> /// <param name="errors">持久的錯誤信息</param> /// <param name="id">id</param> /// <returns>是否成功</returns> bool Delete(int id); /// <summary> /// 修改一個實體 /// </summary> /// <param name="errors">持久的錯誤信息</param> /// <param name="model">模型</param> /// <returns>是否成功</returns> bool Edit(UserInfo model); /// <summary> /// 根據ID獲得一個Model實體 /// </summary> /// <param name="id">id</param> /// <returns>Model實體</returns> UserInfo GetById(int id); /// <summary> /// 判斷是否存在實體 /// </summary> /// <param name="id">主鍵ID</param> /// <returns>是否存在</returns> bool IsExist(int id); } }

using BYCMS.Common; using BYCMS.DAL; using BYCMS.IBLL; using BYCMS.IDAL; using BYCMS.Model; using System.Collections.Generic; using System.Linq; namespace BYCMS.BLL { public class UserInfoBLL : IUserInfoBLL { DBContainer db = new DBContainer(); IUserInfoRepository rep = new UserInfoRepository(); /// <summary> /// 創建一個實體 /// </summary> /// <param name="errors"></param> /// <param name="model"></param> /// <returns></returns> public bool Create(UserInfo model) { if (rep.Create(model) == 1) { return true; } return false; } /// <summary> /// 根據id刪除實體 /// </summary> /// <param name="errors"></param> /// <param name="id"></param> /// <returns></returns> public bool Delete(int id) { if(rep.Delete(id) > 0) { return true; } return false; } /// <summary> /// 編輯實體 /// </summary> /// <param name="errors"></param> /// <param name="model"></param> /// <returns></returns> public bool Edit(UserInfo model) { if (rep.Edit(model) > 0) { return true; } return false; } /// <summary> /// 根據id查找實體 /// </summary> /// <param name="id"></param> /// <returns></returns> public UserInfo GetById(int id) { return rep.GetById(id); } /// <summary> /// 實體列表 /// </summary> /// <param name="pager"></param> /// <param name="queryStr"></param> /// <returns></returns> public List<UserInfo> GetList() { IQueryable<UserInfo> queryData = rep.GetList(db); return queryData.ToList(); } /// <summary> /// 判斷是否存在實體 /// </summary> /// <param name="id"></param> /// <returns></returns> public bool IsExist(int id) { return rep.IsExist(id); } } }

@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>用戶中心</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <link rel="stylesheet" href="~/Content/layui/css/layui.css" media="all" /> <link rel="stylesheet" href="~/Content/css/public.css" media="all" /> </head> <body class="childrenBody"> <blockquote class="layui-elem-quote quoteBox"> <form class="layui-form"> <div class="layui-inline"> <div class="layui-input-inline"> <input type="text" class="layui-input searchVal" placeholder="請輸入搜索的內容" /> </div> <a class="layui-btn search_btn" data-type="reload">搜索</a> </div> <div class="layui-inline"> <a class="layui-btn layui-btn-normal addNews_btn">添加用戶</a> </div> <div class="layui-inline"> <a class="layui-btn layui-btn-danger layui-btn-normal delAll_btn">批量刪除</a> </div> </form> </blockquote> <table id="userList" lay-filter="userList"></table> <!--操作--> <script type="text/html" id="userListBar"> <a class="layui-btn layui-btn-xs" lay-event="edit">編輯</a> <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="usable">已啟用</a> <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">刪除</a> </script> <script type="text/javascript" src="~/Content/layui/layui.js"></script> <script type="text/javascript" src="~/Content/js/user/userList.js"></script> </body> </html>
我們往數據庫插入幾條記錄這時你應該看到效果了