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)相关推荐

  1. 持久化框架数据持久化框架(JPA)及其具体实现

    时间紧张,先记一笔,后续优化与完善. 对于数据的持久化问题,我们很容易想到,也很长用到持久化框架jpa. 持久化框架实现起来重要包括以下几个部分 1开发持久化bean Persistence.xml ...

  2. jooq实体 和mysql_几个数据持久化框架Hibernate、JPA、Mybatis、JOOQ的比较

    因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...

  3. 数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框 ...

  4. 后端技术:数据持久化框架为什么放弃 Hibernate、JPA、Mybatis,最终选择 JDBCTemplate!...

    因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...

  5. 后端开发:数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!...

    因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...

  6. android数据持久化框架,Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage...

    1.数据持久化-SDCard//数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @ ...

  7. C#基于Linq和反射实现数据持久化框架Xml4DB

    我们知道目前大部分的数据库都是关系型数据库, 所谓关系型数据库,就是指建立在关系模型 基础之上的数据库系统,如Oracle.SQL Server.Access.MySQL等.关系模型就是指二维表格模型 ...

  8. 众里寻他千百度-- 轻量级持久化框架

    初衷 纯JDBC 持久化框架 轻量级持久化框架 设计思路 怎么使用 依赖 数据库配置 正式使用 数据库表结构 Java Bean结构 从数据库获取一条记录并转为对象 高级版 数据库内记录 JavaBe ...

  9. Java 数据持久化系列之JDBC

    前段时间小冰在工作中遇到了一系列关于数据持久化的问题,在排查问题时发现自己对 Java 后端的数据持久化框架的原理都不太了解,只有不断试错,因此走了很多弯路.于是下定决心,集中精力学习了持久化相关框架 ...

最新文章

  1. CSS 7:网页布局(传统布局,flex布局,布局套路)
  2. getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
  3. 【深度学习】小目标检测、图像分类、图像识别等开源数据集汇总
  4. MySQL-8.0.x 新特性之索引页合并
  5. 小程序引用icon图标(入门)
  6. HBase shell执行批量脚本
  7. UpdateProgress控件
  8. html js 选择器,h.js - dom元素选择器
  9. c语言计算结果为1. inf0000,C语言复习题及答案老师给的
  10. 中value大小_如何在Spring/SpringBoot 中做参数校验?你需要了解的都在这里!
  11. Linq之ToDictionaryTSource, TKey, TElement用法
  12. java json nf_什么是JSON ,API,GET,POST请求
  13. 迷茫的青春,迷茫的方向
  14. buctoj-python 2022.6.19
  15. 什么是搜索引擎优化及其重要性
  16. 佳文分享:我个人比较受用的一些习惯
  17. lerna使用初体验
  18. csapp-buflab
  19. 文件上传、切片上传、秒传等
  20. 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation

热门文章

  1. 求圆面积的python代码_《求》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  2. 学python还是java贴吧_是学python还是java?一张图告诉你!
  3. openlayers加载svg,如何在OpenLayers-3中将SVG图像用作地图标记?
  4. 白盒测试和黑盒测试_黑盒测试与白盒测试的比较
  5. mysql 连接 中文_大佬们E语言连接MYSQL输出中文乱码怎么破
  6. 计算机网络实验中S1是啥意思,某计算机A需要访问域名www.yy.com,它首先向本域DNS服务器S1查询,.._简答题试题答案...
  7. python怎么复制上面的语句_JAVA、python、Go的复制语句
  8. python编程竞赛规则_用python实行羽毛球比赛规则。
  9. 一个电子工程师的完美人生!
  10. linux的yun命令是访问互联网,如何在Linux终端中知道你的公有IP?