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 ...
在EntityFramework6中管理DbContext的正确方式(1)【考虑的关键点】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第一篇。原文地址:http://mehd...
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
public ActionResult _Function21Update(string id)         {             GEN_PARAMETER parameter = db.GEN_PARAMETER.Find(id);             if (TryUpdateModel(parameter))             {             
EF架构~为EF DbContext生成的实体添加Display特性——实战篇
研究Entity Framework,把Display特殊也做在T4模板里,实现在前台绑定时,就把信息自动显示出来了,是不是感觉很方便?接下来,就让我们一起来探索Display吧!第一步:在.tt模板中查找:Property。查找到把下面的代码修改覆盖上:public string GetRemark(EdmProperty edmProperty){ //System.Dia...
EF框架之并发异常
当两个用户同时更新同一条数据时,两个用户查询的数据都是相同的,但是由于第一个用户已经对数据进行了修改,所以,第二个用户查询到的数据就是假数据,这样会导致数据丢失,因此需要解决数据库的并发问题,并发演示代码如下: using System; using System.Collections.Generic; using System.Data.Entity; using System.Data....
EF6的多线程与分库架构设计实现
1.项目背景  这里简单介绍一下项目需求背景,之前公司的项目基于EF++Repository+UnitOfWork的框架设计的,其中涉及到的技术有RabbitMq消息队列,Autofac依赖注入等常用的.net插件。由于公司的发展,业务不断更新,变得复杂起来,对于数据的实时性、存储容量要求也提高了一个新的高度。数据库上下文DbContext设计的是单例模式,基本上告别了多线程高并发的数据读写能力
EF上下文对象线程内唯一性与优化
在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,这也加是很多人的代码中习惯在使用上下文对象时,习惯将对象建立在using中,这样效率很低,其次会造成数据混乱,每次创建的对象执行相应的数据库操作,与此同时,其他的EF对象内获得的数据可能已经是“过期”的了。即这个数据已经变动过。这就是脏读。         为了解决这个问题,关键就是上下文对象的创建问题。         这里
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 {
EntiryFramework中事务操作(三)事务回滚数据模型和数据库不对应问题
一、关于事务回滚数据模型和数据库不对应问题 1.在使用事务时,无论是使用DbContextTransaction,还是使用TransactionScope,如果在事务中出现异常而回滚,都有可能出现这种情况,数据库数据已经回滚,但是实体模型缓存没有回滚。出现数据的不一致行。 2.这种情况出现的原因:    1.EF中对于查询的实体对象在内存中有缓存,用于数据的状态跟踪,提升性能。    2.
EF模糊查询
    做项目时,遇到了一个棘手的问题:查询某日期的数据,只是日期,但是数据库里是varchar类型的既包含日期又包含时间的字段,所以在这里是现将这个日期转换成了等同于数据库字段格式的字符串类型,然后使用了模糊查询startWith。所以现在整理一下Linq中的模糊查询。普通模糊查询以某字符开头的模糊查询查询日期为2018-03-06 **:**:**的字段 List<t_plan> ...
菜鸟级三层框架(EF+MVC)项目实战之 系列三 业务逻辑层封装
概述:业务逻辑层封装相对数据访问层来说较为简单,我们分为以下几步:          1、抽象基接口定义CRUD方法          2、应用T4模版生成所有实体接口          3、接口实现 一、接口定义      1.1、创建名为Cnblogs.Rdst.IBLL的程序集,主要用于业务逻辑层接口定义              并引用Cnblogs.R
EF中DbContext如何使用自定义数据源,而不是使用app.config中的链接字符串
如题: 之前在EF使用时,一直纠结于APPCONFIG中的配置的连接字符串,不能使用动态链接字符串; 经过对比,DbContext的构造函数中有一个构造函数如下: // // 摘要: // 通过现有连接来连接到数据库以构造一个新的上下文实例。如果 contextOwnsConnection 是 false,则释放上下文时将不会释
EF系列(二)——DbContext 和DbSet
当我们创建了实体数据模型”时,EDM包含了SchoolDBEntities,SchoolDBEntities是从System.Data.Entity.DbContext类派生的类,如下所示。派生DbContext的类SchoolDBEntities在实体框架中被称为上下文类。 DbContext是域或实体类与数据库之间的桥梁。 功能: 查询:将LINQ-to-Entities查询转换
【.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对象的创建问题引发的几点思路
在开发过程中,项目往往被划分为多层,而一个请求过来往往从表示层开始一层一层向下调用,那么如果我们在不同的层中都使用到了EF上下文对象,而有好几层都这么创建一个EF对象然后对其进行操作,那么最终哪一层的EF对象是我们需要的最新的数据就很难确定了,这时就很容易产生脏读。在这种情况下,我们首先会想到使用单例模式,这样在整个应用程序的生命周期内只允许被创建一次。但是这样又会出现一个问题,所有的用户都访问同...
MVC学习笔记四:利用Entity Framework调用存储过程
MVC利用EF调用存储过程 这一章记录一下,如何通过EF调用数据库中的存储过程。 依然按照前面的两种数据库操作方式,一种是DbContext,第二种是ObjectContext. 一.DbContext 待续。
EF速度优化
为什么Entity Framework的初始化速度慢如蜗牛呢? 对于在应用程序中定义的每个DbContext类型,在首次使用时,Entity Framework都会根据数据库中的信息在内存生成一个映射视图(mapping views),而这个操作非常耗时。 方法一 [csharp] view plain copy   using (va
EF进阶篇(三)——上下文
前言     上下文,到底什么是上下文,且听我仔细吹来。 内容     在对EF实体进行关系操作的时候,第一步需要我们创建上下文实例对象,然后根据实体的变化进而通过上下文对该实体进行状态的修改,我的理解就是上下文就是一个状态容器,里面可以放好多变化实体,而且还有一种状态标准,比如:增加、删除、修改、查询等状态。然后上下文根据进来实体的变化生成带有状态的可执行脚本然后去操作数据库,从而达到通过
EF 数据延迟加载
EF数据延迟加载 在DAL层,我们一般都是返回IQueryable类型的数据,然后根据情况在BLL或者UI层来ToList() 【如果是在UI层ToList()其实就是foreach(var item in ...)】 当你使用Where(),Find(),First().....等等来查询数据的时候,EF仅仅是生成了SQL语句,只有当你真正要使用数据的时候,即在ToList()  或者for...
EntityFramework连接串的调用时传入
EntityFramework自动将数据库映射到Model,同时会生成相应的连接字符串,如下图。 生成之后,我们看到自动生成的DBDemoEntities的类,只有一个默认的无参的构造函数,如下图 这在一般情况下是OK的,因为只我们在App.config或者Web.config配置了这个连接串即可。如下图。 但是当我们希望自己传入连接字符串时,就无能为力了。那我们怎么
EF学习笔记——通用增删改查方案
我刚接触EF未久,还不知道它有什么强大的功能
在EntityFramework6中管理DbContext的正确方式(2)【DbContext的默认行为】
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家。由于原文太长,所以翻译后的文章将分为四篇。你看到的这篇就是是它的第二篇。原文地址:http://mehd...
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中查看上下文执行的Sql语句
一、查看当前拼接条件的Sql语句 IQueryable().ToString() 返回当前要执行的sql OneContext _context = new OneContext(); var query = _context.scores.Where(q => false) .Select(q => q.degree) .DefaultIfEmpty(); Console.
EF DbContext Generator生成的实体注释的解决方案
EF DbContext Generator生成的实体注释的解决方案
Asp.net WebApi + EF 单元测试架构 DbContext一站到底
其实关于webapi和Ef service的单元测试我以前已经写过相关文章,大家可以参考: Asp.net WebAPI 单元测试 单元测试 mock EF 中DbContext 和DbSet Include 先看一下项目结构图: 这个demo非常简单,UTWebApi.Data 是纯粹的数据定义,UTWebApi.Service是我们的业务服务逻辑层,
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中Add()和Attach()两种添加数据方法的区别
最近在开发一个项目,在实现某个模块数据的插入操作时(底层数据库的交互采用的是EF),发现无论如何数据都不能插入成功,把数据拷贝出来放到数据库中执行Sql语句时却能正确插入,下面给出代码片段 public int InsertWithFundInfo(F_WithFunding_Info withinfo) { int res = 0;
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名称空间中,并没有找到。提示错误。于
C# EF动态获取连接字符串的MSDTC配置
用于需要动态获取链接字符串(比如从配置中心)获取数据源地址然后链接数据库的情形,需要在服务器上配置MSDTC。 以下是动态链接数据库的代码  using (var ctx = new YourDbContextWhereCanFindConnectionString()) {                 ...                  var record = "your co...
.net EF框架-实现增删改查
声明一个EF上下文对象 Model dbContext = new Model(); 添加操作(向表中插入一条数据) //声明一个表的实体 Contact contact = new Contact(); //向表中的字段添加数据 contact.Name = "张三"; contact.EnrollmentDate = DateTime.Now; //做插
DbContext运行时动态附加上一个dbset
参考 Creating DbSet Properties Dynamically C# code? 1 DbSet<MyEntity> set = context.Set<MyEntity>(); 或 C# code? 1 ...
如何优雅的使用DbContext
转载自:http://blog.csdn.net/bitfan/article/details/14231561 EntityFramework走马观花之 CRUD(下) 我在Entity Framework系列文章的CRUD上篇中介绍了EF的数据查询,中篇谈到了EF的数据更新,下篇则聊聊EF实现CRUD的内部原理。 跟踪实体对象状态 在CRUD上篇和中篇谈到,为了实现提取和更新数据的功
Window调度服务Quartz + EF完美结合
QuartJob调度的基础上添加了EF框架实现了数据库的连接以及表的操作 肯定会帮助到想无数的windows调度服务的人 无私奉上
C#的EF中使用数据库事务和并发隔离级别
有时候我们需要直接在使用EF操作数据库的C#程序中使用数据库事务: using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel= System.Transactions.IsolationLevel.
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...
EF优化方案
      MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。      MiniProfiler官网:http://m...
EntityFramework6写的数据访问框架之二BaseDAL
using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using System.Text; using LinqKit; using System.Configurat
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 大数据培训框架