MVC整理笔记6数据库操作
IRepository 数据仓库接口
知识点补充:Expression,IsolationLevel,EF
1、ReadUncommitted 表示:未提交读。当事务A更新某条数据的时候,不容许其他事务来更新该数据,但可以进行读取操作 2、ReadCommitted 表示:提交读。当事务A更新数据时,不容许其他事务进行任何的操作包括读取,但事务A读取时,其他事务可以进行读取、更新 3、RepeatableRead 表示:重复读。当事务A更新数据时,不容许其他事务进行任何的操作,但是当事务A进行读取的时候,其他事务只能读取,不能更新 4、Serializable 表示:序列化。最严格的隔离级别,当然并发性也是最差的,事务必须依次进行。
List<(string paramterName, object paramterValue)> list = new List<(string paramterName, object paramterValue)>(); 新用法,不用再单独声明一个类了
NLOG
AOP
查询 执行步骤: 1.先进入AOP,拦截所有attrubte 2.BaseBusiness<T>利用工厂产生一个service即一个IRepository的实例即DbRepository【一个数据库操作类】 DbRepository里面实现增删改查是有由DbFactory产生一个BaseDbContext的实例【EF的底层操作数据库的类】 _db.Set<T>即可产生一个DBSET<T> BusRepository是对DbRepository做了进一层的封装,BaseBusiness<T>是业务类,里面实例是BusRepository 3.service获取IQueryable,即DBSET<T> 参考https://blog.csdn.net/ydm19891101/article/details/50969323 即DBSET是IQueryable的延伸,IQueryable可以实现延迟加载 4.利用Expression实现扩展GetIQueryable得到任何IQueryable<T> 5.Deleted作为一个软删除的字段,每个数据表都要存在 6. BaseController 打上三个特性 [JsonParamter] [ApiLog] [FormatResponse] BaseApiController打上一个特性 [CheckJWT] 7.关于Operator实例化就会自动有值,Operator中调用固定属性UserId,去利用BaseCache<T> 去设置一个缓存
posted on 2020-03-26 21:23 HOT SUMMER 阅读(214) 评论(0) 编辑 收藏 举报