EF框架学习(5)---EF中的在线和离线场景
EF中的持久性场景
使用EF实现实体持久化(保存)到数据库有两种情况:在线场景和离线场景。
1.在线场景
在线场景中,context是同一个上下文实例(从DbContext派生),检索和保存实体都通过同一个context上下文,因此在线场景中的持久化十分简单。
这种方案适用于连接本地数据库或同一网络上的数据库。
优点:
执行速度快。
上下文跟踪所有实体,并在实体发生更改时自动设置适当的状态。
缺点:
上下文保持在线状态,因此与数据库的连接保持打开状态。
利用更多资源。
2.离线场景
离线场景中,使用不同上下文实例进行检索和保存。一个context检索实体后被释放,创建一个新的实体进行保存工作。
离线场景的保存相对复杂,因为新创建的context没有跟踪实体,因此必须在保存实体之前为每个实体设置适当的状态。在上图中,应用程序使用Context 1检索实体图,执行一些CUD(创建,更新,删除)操作。使用Context2保存时,Context2不知道在这个实体图上执行过哪些操作。
离线场景适用于Web应用程序或远程数据库。
优点:
与在线方案相比,使用更少的资源。
没有与数据库的长连接。
缺点:
需要在保存之前为每个实体设置适当的状态。
执行速度比在线方案慢。
转载于:https://www.cnblogs.com/zxwDont/p/11097479.html
EF框架学习(5)---EF中的在线和离线场景相关推荐
- .net之EF框架学习
1.EF(Entity Framework) 实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. 2.什么是ORM? ORM指的是面向对象的对象模型和关 ...
- c ef框架-mysql_.net EF框架 MySql實現實例
1.nuget中添加包EF和MySql.Data.Entity 2.config文件添加如下配置 1.配置entitframework節點(一般安裝EF時自動添加) 2.配置system.data節點 ...
- 【EF框架】聊一聊EF框架
前言 EF框架的全称EntityFramework ,Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. 叙述 ORM ORM是一 ...
- 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
先来DAL层代码..稍后解释... public List<Staff> Getstaff(string DepId,string staffname,DateTime date ,int ...
- Hibernate框架--学习笔记(中):一对多配置、多对多配置
一.一对多: 一个客户可以有多个联系人,一个联系人只能属于一个客户. 1.一对多映射配置: (1)创建实体类 //客户类:一个客户可以有多个联系人,一个联系人只能属于一个客户 public class ...
- EF框架你了解多少?
[EF框架的认识] EF教程视频大全 一. EF简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Con ...
- Visual Studio中使用EF框架的过程
实体框架ADO.NET Entity Framework(EF)一套支持面向数据的软件应用程序开发的技术,它可让开发人员使用映射到数据源中的逻辑架构的概念模型. 一.搭建EF框架 1.BLL(业务层) ...
- EF框架中,在实体中手动更新字段,数据库数据未同步到程序中应该怎么解决呢?
在一些技术不是很强的选手手中,设计数据库时,难免会未考虑到某些字段,只能到后期实现功能时,才能觉察出来数据库中或是少写字段,或是多加了无用的字段,故我们还不得不去数据库中做些手脚. 本文列举的是在as ...
- .NET EF框架的安装、及三种开发模式
一.EF框架的安装: 要在VS(如Visual Studio 2012)中使用EF框架,就需要先进行安装. 我们需要给这个应用安装EntityFramework包,引入EF框架相关的内容,我们需要引入 ...
最新文章
- Android实现电蚊香/Service服务管理类
- php下正则替换多个br /
- Reverse String
- H5学习从0到1-H5的元素属性(3)
- CodeIgniter模型
- 一步一步实现自己的模拟控件(5)——隐藏类
- 华为内部面试题库---(6)
- js类似matlab_JavaScript与MATLAB的计算性能差异对比研究
- Oracle搜索所有表查找关键字,根据关键字查询oracle中所有表的记录
- 怎样在两台计算机之间建立硬盘共享,如何让两台电脑硬盘共享在一起
- python计算增长率函数_python – 基于增长率优化值的迭代计算
- TIA Protal 精智面板中的动画外观
- 屏幕录制一键截图工具 FastStone Capture 9.0 绿色便携中文版
- 云个人计算机,把个人电脑变成你的云主机
- C++中类成员函数指针使用方法
- 为什么onenote一直在加载_超好用的笔记软件,Onenote是我的最爱
- 数据的处理方法及触摸屏终端
- Google Map 离线地图 - Ok Maps
- Debian10中使用deb包安装WineHQ(鬼畜依赖解决)
- java camel_Apache Camel建立基于消息的应用
热门文章
- stylus之方法(Functions)
- Python-100例(5-6) 排序斐波那契数列
- https证书pfx 生成 pem,crt,key
- oracle中出现会话被锁
- .NETFramework-Web.Mvc:ViewResult
- [转载来之雨松:NGUI研究院之为什么打开界面太慢(十三)]
- An error occurred while searching for implementations of method
- 关于tag,viewWithTag
- 一步一步学Remoting系列文章
- Android 各控件的使用 - 按钮(Button)