11.23
EF框架:
概念:
实体框架(Entity Framework)是ADO.NET中的一组支持面向数据的软件应用程序的技术,是微软的一个提供的一种ORM工具;
EF有三种使用场景:
1. 从数据库生成Class
2.由实体类生成数据库表结构
3. 通过数据库可视化设计器设计数据库,同时生成实体类。
EF架构:
EDM (实体数据模型):EDM包括三个模型,概念模型、 映射和存储模型。
概念模型 ︰ 概念模型包含模型类和它们之间的关系。独立于数据库表的设计。
存储模型 ︰ 存储模型是数据库设计模型,包括表、 视图、 存储的过程和他们的关系和键。
EF框架的优点:
1、应用程序不再对特定的数据引擎后存储架构具有硬编码的依赖性。
2、可以在不更改应用程序代码的情况下更改概念模型和特定于存储的架构之间的映射。
3、开发人员可以利用映射到各种存储架构(可能在不同的数据库管理系统中实现)一致的应用程序对象模型。
4、多个概念模型可以映射到同一个存储架构
5、语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。
EF加载方式:
延迟加载:延迟加载又叫惰性加载(Lazy Loading):即在需要或者使用的时候加载数据。默认情况下,EF会使用延迟加载方式加载数据。延迟加载意味着延迟加载相关数据,直到您明确请求为止。
显示加载:显式加载亦可为贪婪加载,不同的是显式加载要手动关闭EF的延迟加载属性,通过代码ctx.Configu ration.LazyLoadingEnabled = false;来完成
EF映射创建实体:在实际项目的开发中,EF框架与MVC架构的结合是很常见的一件事情,所以我们应该了解一下它们在项目开发中具体应该如何使用。
FirstOrDefault():返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值,其中int类型的默认值是0,string类型的默认值是空
First():返回序列的第一个元素,不排序
Single():返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常
SingleOrDefault():返回序列中的唯一元素;如果该序列为空,则返回默认值;如果该序列包含多个元素,此方法将引发异常
关于上述的四种的优缺点:
可以发现带OrDefault()的会返回默认值,没有OrDefault()的会抛出异常;
FirstOrDefault在性能上会比SingleOrDefault更好,因为FirstOrDefault是从集合开始位置查找到第一个满足条件元素就返回,而SingleOrDefault会迭代集合中所有的元素。

浙公网安备 33010602011771号