避免用using包装DbContext【翻译】】的更多相关文章

EF和EF Core 的DbContext类实现IDisposable接口.因此,很多最佳编程实践中都建议你将它们放在一个using()块中.不幸的是,至少在Web应用程序中,这样做通常不是一个好主意.   我与许多从.NET Framework迁移到.NET Core和.NET 5的客户一起工作,其中一些客户在旧版应用程序中并没有使用依赖项注入,或者没有一直使用它.结果导致他们的DbContext类有大量的实例.这样做有很多问题,其中最重要的是它导致了紧耦合.                 …
作者:Compasslg 前言 前一阵子想利用闲余时间写一个 Unity 游戏的翻译工具,主要是用于翻译一些内嵌在代码中的文本,最初想偷懒看了一下网上的教学推荐说可以先利用DnSpy.ILSpy等工具反编译,直接修改反编译出来的代码中的字符串然后再重新编译,这样就只需要写一个提取和置换c#代码中所有文本的工具就行了.但在略微尝试一下后发现这些反编译工具并不能完美的生成可编译的代码,于是只能暂时搁置了. 刚好近期工作中在编写一些Debug工具,需要大量的利用 c# 的 Reflection 和 M…
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家.由于原文太长,所以翻译后的文章将分为四篇.你看到的这篇就是是它的第一篇.原文地址:http://mehdi.me/ambient-dbcontext-in-ef6/) 关于DbContext 这不是第一篇…
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家.由于原文太长,所以翻译后的文章将分为四篇.你看到的这篇就是是它的第二篇.原文地址:http://mehdi.me/ambient-dbcontext-in-ef6/) DbContext的默认行为 通常来…
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家.由于原文太长,所以翻译后的文章将分为四篇.你看到的这篇就是是它的第三篇.原文地址:http://mehdi.me/ambient-dbcontext-in-ef6/) 环境上下文DbContext vs …
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gueddari对此做了深入研究和优秀的工作并且写了一篇优秀的文章,现在我将其翻译为中文分享给大家.由于原文太长,所以翻译后的文章将分为四篇.你看到的这篇就是是它的第四篇.原文地址:http://mehdi.me/ambient-dbcontext-in-ef6/) DbContextScope:一个简…
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF版本更新太快,没人愿意去花时间翻译国外关于EF的书籍.使用Entity Framework开发已经有3年多了,但用得很肤浅,最近想深入学习,只好找来英文书<Entity Framework 6 Recipes>第二版,慢慢啃.首先需要说明的是,我英文不好,只是为了学习EF.把学习的过程写成博客,一…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第三章 查询 前一章,我们展示了常见数据库场景的建模方式,本章将向你展示如何查询实体数据模型,一般来说,有三种方式: 1.LINQ to Entities; 2.Entity SQL; 3.Native SQL; 我们将在本章演示这三种方式,为了帮助你理解实体框架查询的基本知识,本章覆盖了常见和不常见的场景.同时我们也展示了实体框架6新的查询功能. 3-1.异步查询 你有一个长耗时的实体框架…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-2使用原生SQL语句更新 问题 你想在实体框架中使用原生的SQL语句,来更新底层数据存储. 解决方案 假设你有一张如图3-2所示的Payment数据库表,使用实体框架设计器工具创建了一个如图3-2所示的模型. 图3-2 Payment表,包含一个供应商的付款信息 图3-3 包含一个Payment实体的模型 为了在底层的Payment表中执行一句和多句SQL语句,可以使用在DbContex…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-4使用实体SQL查询模型 问题 你想通过执行Entity SQL语句来查询你的实体数据模型并返回强类型的对象. 解决方案 假设你有图3-5所示的模型,它包含一个Customer实体类型.这个实体类型有一个Name属性和Email属性.你要使用Entiyt SQL查询这个模型. 图3-5 包含一个Customer实体类型的模型 使用Entity SQL(eSQL)查询模型,Entity S…