对EF的封装】的更多相关文章

/// <summary> /// EF事务封装 公用类 /// </summary> public class TransactionCommon { DbContextTransaction Transaction = null; /// <summary> /// 数据库连接 /// </summary> private readonly DefaultDbContext _DbContext = new DefaultDbContext(); ///…
1.项目中经常要用到 EF,有时候大多数的增删改查都是重复性的东西,本次封装就是为了快速开发,期间没有考虑到架构上的各种思想,就感觉到欠缺点什么东西所以这次将这些拉出来,有存在问题的话还请各位多多指导. 2.封装后从压力和并发上也没有去测试,有兴趣的小伙伴还望给看下.好了不废话了直接上了. a.先看下大概结构如下   按照顺序介绍  a.1: 实体就是一般大家手动写的实体 a.2:  DALContext.cs 代码如下: namespace Test.Web.Site.DAL { public…
unc<TObject, bool>是委托(delegate) Expression<Func<TObject, bool>>是表达式 Expression编译后就会变成delegate,才能运行.比如 Expression<Func<int, bool>> ex = x=>x < 100; Func<int, bool> func = ex.Compile(); 然后你就可以调用func: func(5) //-返回 t…
闲暇之余,整理了一下EF底层的一些基础方法,供查看,只有接口,具体实现需要你们自己写了. 建议:接口的实现定义为虚方法,当父类的方法不满住子类需求时,可以重写此方法 此接口都为公用方法,基本上满足小系统的实际开发需求,如果你觉得满足不了你,可以扩展此接口. using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Data.SqlClient;…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Objects.DataClasses; using ZBService.Model; using System.Linq.Expressions; namespace ZBService { public abstract class ServiceBase<T> where T:Ent…
表达式树,传递 group public class Test<T> where T : class { MoviesEntities db = new MoviesEntities(); public virtual List<IGrouping<S,T>> FindList<S>(Expression<Func<T, S>> groupBy) { var _list = db.Set<T>().AsNoTracking…
public class EFTransaction:ITransaction { DbContextTransaction originalTransaction = null; MyDbContext myDbContext = null; /// <summary> /// 默认构造函数 /// </summary> public EFTransaction() { myDbContext= DbContextHelper.MainDbContextFactory.GetDb…
前言 在上一篇0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架中,我已经介绍了这个轻型框架的层次结构,在下面的这篇文章中,我将以教师登陆功能为例,具体来扩充下我的core层的代码. 在这之前,我想先补充讨论下是否有必要添加server层,因为看过不少别人的框架都有这一层.首先,server层在不同地方有着不同的解释.有个常听的词叫MVSC,这里所指的S虽然也是server的意思,但实现的功能更有点类似于我框架中的core,主要存放也是业务逻辑.但我看了别人框架上的serv…
http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即分布式操作)或者多次调用context.saveChanges()操作,会脱离EF事务封装,此时可使用TransactionScope实现事务操作.案例代为: using (TransactionScope scope = new TransactionScope()) { //Do somethi…
http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即分布式操作)或者多次调用context.saveChanges()操作,会脱离EF事务封装,此时可使用TransactionScope实现事务操作.案例代为: using (TransactionScope scope = new TransactionScope()) { //Do somethi…