MVC之实体框架(数据持久化框架)EntityFrameWork(EF)
EF - EntityFrameWork
中文名:实体框架(数据持久化框架)
1.使用EF查询(Linq to EF)
1.1使用标准查询运算符来查询
OumindBlogEntities db = new OumindBlogEntities();IQueryable<BlogArticle> list = db.BlogArticles.Where(a => a.ACate==2);
1.2使用Linq to EF
//1.EF默认使用延迟加载
//1.1 IQueryable<T> 支持延迟记载,linq编译成SQO,运行时会生成一颗 表达式树,也就是说,IQueryable中并没有保存查询的数据,而是保存了要查询的数据条件的 表达式树
IQueryable<BlogArticle> list = from a in db.BlogArticles where a.ACate == 2 select a;
//1.2那么当使用 IQueryable的时候(ToList,foreach遍历),才会通过 表达式树里的条件生成 sql 语句,并到数据库查询
list.ToList().ForEach(a => Console.WriteLine(a.AId + "," + a.ATitle));
2.关于 Expression
//1.创建一个表达式对象
Expression<Func<string, bool>> pre = (str => str.Length > 0);
//2.编译表达式树,生成 指定的 委托对象
Func<string,bool> fu = pre.Compile();
//3.执行委托
fu("123");
3.关于 形参设置默认值
public List<T> GetPagedList<TKey>(int pageIndex, int pageSize, out int rowCount, out int pageCount, Expression<Func<T, bool>> where, Expression<Func<T, TKey>> orderby, bool isAsc = true)
4.在程序集U中(比如UI层),如果使用 程序集B里的类b(比如BLL层):
4.1如果在类b中,直接创建 程序集D(比如DAL层)里的类的对象,没有问题。
4.2如果在定义类b的时候,使用到了程序集D的类(比如说继承,泛型参数),那么 程序集U 要求添加 程序集D的引用。
5.基于EF的新框架 简单三层
UI -> BLL - > IDAL -> DAL -> MODEL
1.表现层 直接使用 业务层对象
2.业务层 的每个具体的操作类,都继承于 业务父类,在业务父类中 定义了一个 数据层接口 IDAL、并且 业务父类 中还定义了一个 抽象方法;业务子类重写抽象方法,并实例化 父类里的 IDAL接口对象。
3.数据层 每个具体的操作类 继承于 数据父类,拥有父类通用的增删改查方法。
转载于:https://www.cnblogs.com/aixincao/p/3634693.html
MVC之实体框架(数据持久化框架)EntityFrameWork(EF)相关推荐
- 持久化框架数据持久化框架(JPA)及其具体实现
时间紧张,先记一笔,后续优化与完善. 对于数据的持久化问题,我们很容易想到,也很长用到持久化框架jpa. 持久化框架实现起来重要包括以下几个部分 1开发持久化bean Persistence.xml ...
- jooq实体 和mysql_几个数据持久化框架Hibernate、JPA、Mybatis、JOOQ的比较
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- 数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框 ...
- 后端技术:数据持久化框架为什么放弃 Hibernate、JPA、Mybatis,最终选择 JDBCTemplate!...
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- 后端开发:数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!...
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- android数据持久化框架,Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage...
1.数据持久化-SDCard//数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @ ...
- C#基于Linq和反射实现数据持久化框架Xml4DB
我们知道目前大部分的数据库都是关系型数据库, 所谓关系型数据库,就是指建立在关系模型 基础之上的数据库系统,如Oracle.SQL Server.Access.MySQL等.关系模型就是指二维表格模型 ...
- 众里寻他千百度-- 轻量级持久化框架
初衷 纯JDBC 持久化框架 轻量级持久化框架 设计思路 怎么使用 依赖 数据库配置 正式使用 数据库表结构 Java Bean结构 从数据库获取一条记录并转为对象 高级版 数据库内记录 JavaBe ...
- Java 数据持久化系列之JDBC
前段时间小冰在工作中遇到了一系列关于数据持久化的问题,在排查问题时发现自己对 Java 后端的数据持久化框架的原理都不太了解,只有不断试错,因此走了很多弯路.于是下定决心,集中精力学习了持久化相关框架 ...
最新文章
- CSS 7:网页布局(传统布局,flex布局,布局套路)
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
- 【深度学习】小目标检测、图像分类、图像识别等开源数据集汇总
- MySQL-8.0.x 新特性之索引页合并
- 小程序引用icon图标(入门)
- HBase shell执行批量脚本
- UpdateProgress控件
- html js 选择器,h.js - dom元素选择器
- c语言计算结果为1. inf0000,C语言复习题及答案老师给的
- 中value大小_如何在Spring/SpringBoot 中做参数校验?你需要了解的都在这里!
- Linq之ToDictionaryTSource, TKey, TElement用法
- java json nf_什么是JSON ,API,GET,POST请求
- 迷茫的青春,迷茫的方向
- buctoj-python 2022.6.19
- 什么是搜索引擎优化及其重要性
- 佳文分享:我个人比较受用的一些习惯
- lerna使用初体验
- csapp-buflab
- 文件上传、切片上传、秒传等
- 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation
热门文章
- 求圆面积的python代码_《求》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
- 学python还是java贴吧_是学python还是java?一张图告诉你!
- openlayers加载svg,如何在OpenLayers-3中将SVG图像用作地图标记?
- 白盒测试和黑盒测试_黑盒测试与白盒测试的比较
- mysql 连接 中文_大佬们E语言连接MYSQL输出中文乱码怎么破
- 计算机网络实验中S1是啥意思,某计算机A需要访问域名www.yy.com,它首先向本域DNS服务器S1查询,.._简答题试题答案...
- python怎么复制上面的语句_JAVA、python、Go的复制语句
- python编程竞赛规则_用python实行羽毛球比赛规则。
- 一个电子工程师的完美人生!
- linux的yun命令是访问互联网,如何在Linux终端中知道你的公有IP?