C# EF框架DBContext,using的问题

看到大家使用DBContext都是

using(var test=new DBContext())
{
    //Doing
}

当我一个action里面需要访问多个模块。每个模块都需要访问数据库。这样就需要using和new DBContext很多次。
那么我能否在OnActionExecuting 中new DBContext,然后再OnActionExecuted 或者OnResultExecuted 再进行DBContext.Dispose()呢???

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【EF框架】DbContext的使用
前言 DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。叙述DbContext类DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁。DbContext是负责与数据交互作为对象的主要类。DbConte
EF中DataContext以及对应实体的生命周期
Enitity Framework的文章非常多,而且使用起来也非常简单。当然一旦遇到一个异常时,就非常让人头疼。最近一直用EF,遇到一些问题,所以分享出来对大家或许有些帮助。在这里不会研究源码,只说原理,并分享一些最佳实践的代码。有说的不对的地方,请过路人指正。DataContext对象应该生成多少个?当我们new一个新的DataContext对象并从数据库获取相关实体时,意味着DataContex
MYSQL +EF如何配置完美使用DbContext
最近感觉MS SQL过于庞大所以想换下MYSQL安装方便,使用起来资料也丰富。 一直以来VS提供的EF技术,都是能比较简单方便的搭建EF+MSSQL环境进行开发。鉴于在配置EF+MYSQL时候遇到了许多问题,虽然经过网上查找但是,仍是磕磕碰碰。所以特意记录下来。 下面就直接上示例:1、在NuGet包管理中,下载安装Mysql.Data.Entity 安装后引用中就会有一下四个dll ...
EF6的多线程与分库架构设计实现
1.项目背景  这里简单介绍一下项目需求背景,之前公司的项目基于EF++Repository+UnitOfWork的框架设计的,其中涉及到的技术有RabbitMq消息队列,Autofac依赖注入等常用的.net插件。由于公司的发展,业务不断更新,变得复杂起来,对于数据的实时性、存储容量要求也提高了一个新的高度。数据库上下文DbContext设计的是单例模式,基本上告别了多线程高并发的数据读写能力
如何优雅的使用DbContext
转载自:http://blog.csdn.net/bitfan/article/details/14231561 EntityFramework走马观花之 CRUD(下) 我在Entity Framework系列文章的CRUD上篇中介绍了EF的数据查询,中篇谈到了EF的数据更新,下篇则聊聊EF实现CRUD的内部原理。 跟踪实体对象状态 在CRUD上篇和中篇谈到,为了实现提取和更新数据的功
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
public ActionResult _Function21Update(string id)         {             GEN_PARAMETER parameter = db.GEN_PARAMETER.Find(id);             if (TryUpdateModel(parameter))             {             
在EntityFramework6中管理DbContext的正确方式(1)【考虑的关键点】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第一篇。原文地址:http://mehd...
EF架构~为EF DbContext生成的实体添加Display特性——实战篇
研究Entity Framework,把Display特殊也做在T4模板里,实现在前台绑定时,就把信息自动显示出来了,是不是感觉很方便?接下来,就让我们一起来探索Display吧!第一步:在.tt模板中查找:Property。查找到把下面的代码修改覆盖上:public string GetRemark(EdmProperty edmProperty){ //System.Dia...
EF上下文对象线程内唯一性与优化
在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,这也加是很多人的代码中习惯在使用上下文对象时,习惯将对象建立在using中,这样效率很低,其次会造成数据混乱,每次创建的对象执行相应的数据库操作,与此同时,其他的EF对象内获得的数据可能已经是“过期”的了。即这个数据已经变动过。这就是脏读。         为了解决这个问题,关键就是上下文对象的创建问题。         这里
EF框架之并发异常
当两个用户同时更新同一条数据时,两个用户查询的数据都是相同的,但是由于第一个用户已经对数据进行了修改,所以,第二个用户查询到的数据就是假数据,这样会导致数据丢失,因此需要解决数据库的并发问题,并发演示代码如下: using System; using System.Collections.Generic; using System.Data.Entity; using System.Data....
EntiryFramework中事务操作(三)事务回滚数据模型和数据库不对应问题
一、关于事务回滚数据模型和数据库不对应问题 1.在使用事务时,无论是使用DbContextTransaction,还是使用TransactionScope,如果在事务中出现异常而回滚,都有可能出现这种情况,数据库数据已经回滚,但是实体模型缓存没有回滚。出现数据的不一致行。 2.这种情况出现的原因:    1.EF中对于查询的实体对象在内存中有缓存,用于数据的状态跟踪,提升性能。    2.
EF中DbContext如何使用自定义数据源,而不是使用app.config中的链接字符串
如题: 之前在EF使用时,一直纠结于APPCONFIG中的配置的连接字符串,不能使用动态链接字符串; 经过对比,DbContext的构造函数中有一个构造函数如下: // // 摘要: // 通过现有连接来连接到数据库以构造一个新的上下文实例。如果 contextOwnsConnection 是 false,则释放上下文时将不会释
在EntityFramework6中管理DbContext的正确方式(4)【DbContextScope:一个简单的,正确的并且灵活的管理DbContext实例的方式】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第四篇。原文地址:http://mehd...
【.Net码农】【MVC】如何搭建MVC + EF 框架
http://blog.sina.com.cn/s/blog_3d25ef340101aozv.html 1、搭建MVC框架    1.1 VS2010:需要安装安装WPI 安装 ASP.NET MVC 4 和Visual Studio 2010 系统必备组件    如果上述链接无法打开,请访问:http://www.asp.net/m
菜鸟级三层框架(EF+MVC)项目实战之 系列三 业务逻辑层封装
概述:业务逻辑层封装相对数据访问层来说较为简单,我们分为以下几步:          1、抽象基接口定义CRUD方法          2、应用T4模版生成所有实体接口          3、接口实现 一、接口定义      1.1、创建名为Cnblogs.Rdst.IBLL的程序集,主要用于业务逻辑层接口定义              并引用Cnblogs.R
EF系列(二)——DbContext 和DbSet
当我们创建了实体数据模型”时,EDM包含了SchoolDBEntities,SchoolDBEntities是从System.Data.Entity.DbContext类派生的类,如下所示。派生DbContext的类SchoolDBEntities在实体框架中被称为上下文类。 DbContext是域或实体类与数据库之间的桥梁。 功能: 查询:将LINQ-to-Entities查询转换
MVC EF 修改 封装类 通用泛型方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Entity.Infrastructure; using System.Data.Entity; namespace DAL { public class EF_Help {
EF对象的创建问题引发的几点思路
在开发过程中,项目往往被划分为多层,而一个请求过来往往从表示层开始一层一层向下调用,那么如果我们在不同的层中都使用到了EF上下文对象,而有好几层都这么创建一个EF对象然后对其进行操作,那么最终哪一层的EF对象是我们需要的最新的数据就很难确定了,这时就很容易产生脏读。在这种情况下,我们首先会想到使用单例模式,这样在整个应用程序的生命周期内只允许被创建一次。但是这样又会出现一个问题,所有的用户都访问同...
MVC学习笔记四:利用Entity Framework调用存储过程
MVC利用EF调用存储过程 这一章记录一下,如何通过EF调用数据库中的存储过程。 依然按照前面的两种数据库操作方式,一种是DbContext,第二种是ObjectContext. 一.DbContext 待续。
EF操作存储过程调用
1、执行返回数据列表型     CREATE PROCEDURE [dbo].[SP_ManageForumGroupsPostRecycle] @userId VARCHAR(128),  --用户ID AS BEGIN SET NOCOUNT ON; DECLARE @rowId INT  SET @rowId=( @page - 1 ) * @pageSize; --
EF速度优化
为什么Entity Framework的初始化速度慢如蜗牛呢? 对于在应用程序中定义的每个DbContext类型,在首次使用时,Entity Framework都会根据数据库中的信息在内存生成一个映射视图(mapping views),而这个操作非常耗时。 方法一 [csharp] view plain copy   using (va
【.NET】EF框架之三种模式
       使用EF之前必须要对EF有个宏观的了解.学习任何一种技术都要像门卫一样问几个问题.       第一,它是谁?       第二,从哪里来?       第三,到哪里去?        默念一遍:不谋全局者,不足谋一域.           今天老师宏观给讲了一下EF的好处,抛出为什么要用EF的问题,我们的回答仅仅是概念和技术上的浅显的认识,老师的话我并未全部理解.先来...
EF进阶篇(三)——上下文
前言     上下文,到底什么是上下文,且听我仔细吹来。 内容     在对EF实体进行关系操作的时候,第一步需要我们创建上下文实例对象,然后根据实体的变化进而通过上下文对该实体进行状态的修改,我的理解就是上下文就是一个状态容器,里面可以放好多变化实体,而且还有一种状态标准,比如:增加、删除、修改、查询等状态。然后上下文根据进来实体的变化生成带有状态的可执行脚本然后去操作数据库,从而达到通过
.net EF框架-实现增删改查
声明一个EF上下文对象 Model dbContext = new Model(); 添加操作(向表中插入一条数据) //声明一个表的实体 Contact contact = new Contact(); //向表中的字段添加数据 contact.Name = "张三"; contact.EnrollmentDate = DateTime.Now; //做插
EF大数据批量处理----BulkInsert
这些扩展方法在哪里找 批量添加和EF本身自带的添加性能提高了多少 为什么扩展方法用的时间这么少之前做项目的时候,做出来的系统的性能不太好,在框架中使用了EntityFramework,于是就在网上查资料,研究如何提高EF的性能。 在这分享一篇博客 批量操作提升EntityFramework的性能 里面提供了一个扩展库Entity Framework扩展库,在这里面找到了一些比较好的方法。下面主要
Window调度服务Quartz + EF完美结合
QuartJob调度的基础上添加了EF框架实现了数据库的连接以及表的操作 肯定会帮助到想无数的windows调度服务的人 无私奉上
EF学习笔记——通用增删改查方案
我刚接触EF未久,还不知道它有什么强大的功能
EF使用两个DbContext的例子
类图:UserModel.cs实体类using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks;namespace MySQL { p
EF模糊查询
    做项目时,遇到了一个棘手的问题:查询某日期的数据,只是日期,但是数据库里是varchar类型的既包含日期又包含时间的字段,所以在这里是现将这个日期转换成了等同于数据库字段格式的字符串类型,然后使用了模糊查询startWith。所以现在整理一下Linq中的模糊查询。普通模糊查询以某字符开头的模糊查询查询日期为2018-03-06 **:**:**的字段 List<t_plan> ...
C#的EF中使用数据库事务和并发隔离级别
有时候我们需要直接在使用EF操作数据库的C#程序中使用数据库事务: using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel= System.Transactions.IsolationLevel.
EntityFramework连接串的调用时传入
EntityFramework自动将数据库映射到Model,同时会生成相应的连接字符串,如下图。 生成之后,我们看到自动生成的DBDemoEntities的类,只有一个默认的无参的构造函数,如下图 这在一般情况下是OK的,因为只我们在App.config或者Web.config配置了这个连接串即可。如下图。 但是当我们希望自己传入连接字符串时,就无能为力了。那我们怎么
EF5+Oracle12c连接操控Oracle数据库(ORM)
一、添加引用 注意加的是 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Oracle.ManagedDataAccess\v4.0_4.121.2.0__89b483f429c47342\Oracle.ManagedDataAccess.dll 二、新建数据库连接 这里使用EZ connect 是一种连接方式,参见博客https://blo...
DbContext和DbSet在System.Data.Entity名称空间中,并没有找到。提示错误
在学习MVC3时,按照其tutorials进行到http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs发现, MovieDBContext : DbContext    {        public DbSet中的DbContext和DbSet在System.Data.Entity名称空间中,并没有找到。提示错误。于
EF 数据延迟加载
EF数据延迟加载 在DAL层,我们一般都是返回IQueryable类型的数据,然后根据情况在BLL或者UI层来ToList() 【如果是在UI层ToList()其实就是foreach(var item in ...)】 当你使用Where(),Find(),First().....等等来查询数据的时候,EF仅仅是生成了SQL语句,只有当你真正要使用数据的时候,即在ToList()  或者for...
EntityFramework中常用的数据删除方式
最近在学EF,目前了解到删除操作有三种方式, 第一,官方推荐的先查询数据,再根据查询的对象,删除对象。 这是第一种,官方推荐 第二,自己创建一个对象,然后附加,然后删除。 这是第二种 第三,自己创建对象,然后放入EF容器,然后删除。 这是第三种 跟踪结果 首先第一种 会先查询,然后再删除,
EF扩展库(批量操作--删除、更新等)
EF删除和修改数据只能先从数据库取出,然后再进行删除   delete from Table1 where Id>5;   update Table1 set Age=10; 我们需要这样操作 //删除 var t1 = context.Table1.Where(t => t.Id > 5).ToList(); foreach(var t in t1) { co
C# EF动态获取连接字符串的MSDTC配置
用于需要动态获取链接字符串(比如从配置中心)获取数据源地址然后链接数据库的情形,需要在服务器上配置MSDTC。 以下是动态链接数据库的代码  using (var ctx = new YourDbContextWhereCanFindConnectionString()) {                 ...                  var record = "your co...
EF DbContext Generator生成的实体注释的解决方案
EF DbContext Generator生成的实体注释的解决方案
处理EF第一次加载过慢问题
创建mvc web application,采用code first 的方式,MVC5,EF6.0 整了一个网站。开发完之后。直接publish。就这样部署到服务器上了。在使用过程中发现,网站打开的速度有点慢。而且每隔一段时间不使用,网站的打开速度就变慢。问题分析:一开始首先想到的是IIS的应用程序池释放的问题。后来配置了iis还是过一段时间访问变慢。后来为了快速解决这个问题,只能先做了一个bat...
EF优化方案
      MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。      MiniProfiler官网:http://m...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 大数据培训框架