EF增删改查by糟糕的代码
上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系。
我们把Controllers分离出来了BLL层和DAL层
BLL专注于业务上的处理
DAL专注于数据访问层的处理
而Controller跟清楚的与View交互
我们上一讲已经在EF添加了一个实体SysSample
下面我们创建IDAL,DAL,IBLL,BLL的代码吧
using App.Models; using System.Linq; namespace App.IDAL { public interface ISysSampleRepository { /// <summary> /// 获取列表 /// </summary> /// <param name="db">数据库上下文</param> /// <returns>数据列表</returns> IQueryable<SysSample> GetList(DBContainer db); /// <summary> /// 创建一个实体 /// </summary> /// <param name="entity">实体</param> int Create(SysSample entity); /// <summary> /// 删除一个实体 /// </summary> /// <param name="entity">主键ID</param> int Delete(string id); /// <summary> /// 修改一个实体 /// </summary> /// <param name="entity">实体</param> int Edit(SysSample entity); /// <summary> /// 获得一个实体 /// </summary> /// <param name="id">id</param> /// <returns>实体</returns> SysSample GetById(string id); /// <summary> /// 判断一个实体是否存在 /// </summary> bool IsExist(string id); } } ISysSampleRepository.cs
using System; using System.Linq; using App.IDAL; using App.Models; using System.Data; namespace App.DAL { public class SysSampleRepository : ISysSampleRepository, IDisposable { /// <summary> /// 获取列表 /// </summary> /// <param name="db">数据库上下文</param> /// <returns>数据列表</returns> public IQueryable<SysSample> GetList(DBContainer db) { IQueryable<SysSample> list = db.SysSample.AsQueryable(); return list; } /// <summary> /// 创建一个实体 /// </summary> /// <param name="db">数据库上下文</param> /// <param name="entity">实体</param> public int Create(SysSample entity) { using (DBContainer db = new DBContainer()) { db.SysSample.AddObject(entity); return db.SaveChanges(); } } /// <summary> /// 删除一个实体 /// </summary> /// <param name="db">数据库上下文</param> /// <param name="entity">主键ID</param> public int Delete(string id) { using (DBContainer db = new DBContainer()) { SysSample entity = db.SysSample.SingleOrDefault(a => a.Id == id); if (entity != null) { db.SysSample.DeleteObject(entity); } return db.SaveChanges(); } } /// <summary> /// 修改一个实体 /// </summary> /// <param name="db">数据库上下文</param> /// <param name="entity">实体</param> public int Edit(SysSample entity) { using (DBContainer db = new DBContainer()) { db.SysSample.Attach(entity); db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); return db.SaveChanges(); } } /// <summary> /// 获得一个实体 /// </summary> /// <param name="id">id</param> /// <returns>实体</returns> public SysSample GetById(string id) { using (DBContainer db = new DBContainer()) { return db.SysSample.SingleOrDefault(a => a.Id == id); } } /// <summary> /// 判断一个实体是否存在 /// </summary> /// <param name="id">id</param> /// <returns>是否存在 true or false</returns> public bool IsExist(string id) { using (DBContainer db = new DBContainer()) { SysSample entity = GetById(id); if (entity != null) return true; return false; } } public void Dispose() { } } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索entity
, using
, public
, easyui删除主键
, SingleOrDefault
, 一个
, 上下文
, 实体
easyui增删改
,以便于您获取更多的相关知识。
时间: 2024-12-22 14:22:22