随笔分类 -  03 Linq/EF

摘要:1.预先加载 预先加载:在对一种类型的实体进行查询时,将相关的实体作为查询的一部分一起加载。预先加载可以使用Include()方法实现。 1.加载一个相关实体类型 栗子:使用Include()方法从数据库中获取所有学生及成绩级别。导航属性实现预先加载: lambda表达式实现预先加载: 2.加载多个 阅读全文
posted @ 2018-09-11 18:22 捞月亮的猴子 阅读(6160) 评论(0) 推荐(6) 编辑
摘要:这里主要介绍两种查询方法 Linq to entity(L2E)和Sql 1、L2E查询 L2E查询时可以使用linq query语法,或者lambda表达式,默认返回的类型是IQueryable,(linq查询默认返回的是IEnumerable),下边给出了一个简单的例子 linq的使用方法详见l 阅读全文
posted @ 2018-09-11 16:12 捞月亮的猴子 阅读(9046) 评论(2) 推荐(5) 编辑
摘要:在线场景中保存数据 在线场景中保存实体数据是一项相当容易的任务,因为使用的是同一个context,这个context会自动跟踪所有实体发生的更改。 下图说明了在线场景中的CUD(创建,更新,删除)操作。 EF在调用context.SaveChange方法时,根据EntityState进行添加、修改或 阅读全文
posted @ 2018-09-11 15:57 捞月亮的猴子 阅读(7721) 评论(0) 推荐(4) 编辑
摘要:EF中的持久性场景 使用EF实现实体持久化(保存)到数据库有两种情况:在线场景和离线场景。 1.在线场景 在线场景中,context是同一个上下文实例(从DbContext派生),检索和保存实体都通过同一个context上下文,因此在线场景中的持久化十分简单。 这种方案适用于连接本地数据库或同一网络 阅读全文
posted @ 2018-09-11 15:22 捞月亮的猴子 阅读(8448) 评论(0) 推荐(3) 编辑
摘要:这一节将总结EF是怎么管理实体之间的关系。EF与数据库一样支持三种关系类型:①一对一 ,②一对多,③多对多。 下边是一个SchoolDB数据库的实体数据模型,图中包含所有的实体和各个实体间的关系。通过设计器我们很容易看出实体间的对应关系 1.一对一 如上图,Student和StudentAddres 阅读全文
posted @ 2018-09-11 14:56 捞月亮的猴子 阅读(11566) 评论(0) 推荐(3) 编辑
摘要:1、DbContext(上下文类) 在DbFirst模式中,我们添加一个EDM(Entity Data Model)后会自动生成一个.edmx文件,这个文件中包含一个继承DbContext类的上下文实例,DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用: 阅读全文
posted @ 2018-09-11 11:32 捞月亮的猴子 阅读(14524) 评论(0) 推荐(6) 编辑
摘要:EF工作流程 1.EF基本CRUD流程 下边的图就可以很清晰地展示EF的CRUD操作的基本工作流程: 这里做一个EF CRUD操作的简单总结:1.定义模型:这是EF工作的前提,定义模型包括定义领域类(Domain Classes),派生自DbContext的上下文类和Configuration(如果 阅读全文
posted @ 2018-09-11 10:29 捞月亮的猴子 阅读(16364) 评论(0) 推荐(10) 编辑
摘要:什么是Entity Framework 学习EF的前提:熟练使用Linq和Ado.net,因为在使用EF框架进行开发时,我们大多数情况使用Linq进行查询和操作,而EF的底层实现用的是Ado.net。 1.EF的概念 在.NET3.5之前,我们经常编写ADO.NET代码或企业数据访问块来保存或检索底 阅读全文
posted @ 2018-09-11 09:16 捞月亮的猴子 阅读(53342) 评论(1) 推荐(10) 编辑
摘要:CodeFirst+MySql开发简单入门 记录一下使用Mysql进行EF Codefirst方式开发的简单过程。 0.准备工作 安装MySql,mysql-connector-net,mysql-for-visualstudio,这部分网上有很多教程,https://blog.csdn.net/Z 阅读全文
posted @ 2018-09-07 16:55 捞月亮的猴子 阅读(1627) 评论(0) 推荐(0) 编辑
摘要:一、linq中的表达式和表达式树 Linq中的表达式(Expression<TDel>)是强类型的lambda表达式,对Func和Action形式的委托做了一层封装。 lambda表达式的本质是简写的匿名函数,可以赋值给Func或Action类型的委托,在.net中被编译成可执行的代码;lambda 阅读全文
posted @ 2018-05-18 17:28 捞月亮的猴子 阅读(2335) 评论(0) 推荐(1) 编辑
摘要:一、linq的基本概念 LINQ是C#和VB中的统一查询语法,使用对象来保存和检索来自不同来源(如数据库、xml、对象集合)的数据。 主要功能:消除了编程语言和数据库之间的不匹配,以及为不同类型的数据源提供统一的查询接口。 适用范围:LInq适用于实现了IEnumerable <T>(IQuerya 阅读全文
posted @ 2018-05-17 22:04 捞月亮的猴子 阅读(3804) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示