dbcontext相关内容

如何在 EntityFramework Core 中使用部分类和部分 OnModelCreating 方法扩展 DbContext

我正在使用 EF Core 和 DatabaseFirst 方法.我的 dbContext 是由 Scaffold-DbContext 命令自动创建的. 我需要将一些新的 DbSet 添加到 dbContext 中,并将一些额外的代码添加到 OnModelCreating 方法中,但是在每个脚手架之后,添加的代码都被删除了,我每次都必须再次添加. 我想要做的是创建另一个部分 dbCon ..
发布时间:2022-01-04 23:53:55 C#/.NET

使用 Entity Framework 5 与 Oracle 11g 对话,为每个会话执行 SQL Alter 命令

我需要在每个数据库会话开始时执行一些 SQL 命令.我正在通过 DbContext 使用 Entity Framework 5 与 Oracle 11g 数据库交谈. 我想执行: ALTER SESSION SET NLS_COMP=ANSI;更改会话集 NLS_SORT=BINARY_CI; 在会话创建开始时进行不区分大小写的搜索. 我该怎么做才能做到最好? 我已将命令放在 d ..

为什么在使用实体框架时重新启动 DbContext?

我不知道是否有更好的方法来使用 DbContext 因为不建议在使用 WCF 时将其设置为静态.所以我们每次要访问数据库时都会创建它. 了解了使用实体框架的所有优点,一些变得毫无用处,因为我们每次都在重新创建DbContext;由于要考虑创建大实体模型的过程,因此更多可能会导致开销. 你有什么看法? 解决方案 Managing Lifetime 您是正确的,DbConte ..
发布时间:2021-12-13 19:39:48 C#/.NET

使用 Moq 模拟 EF DbContext

我正在尝试使用模拟的 DbContext 为我的服务创建单元测试.我创建了一个具有以下功能的接口 IDbContext: 公共接口 IDbContext : IDisposable{IDbSetSet() 其中 T:类;DbEntityEntry条目(T实体),其中T:类;int SaveChanges();} 我的真实上下文实现了这个接口IDbContext和DbContext. 现在 ..
发布时间:2021-12-09 19:04:32 C#/.NET

如何刷新 DbContext

我想刷新我的 DbContext 的所有实体而不重新创建它,我尝试了以下方法,但没有一个是有意义的: var context = ((IObjectContextAdapter)myDbContext).ObjectContext;var refreshableObjects =(来自 context.ObjectStateManager.GetObjectStateEntries 中的条目(E ..
发布时间:2021-12-08 20:54:14 C#/.NET

与 ID 上的 .SingleOrDefault 相比,DbSet.Find 方法慢得可笑

我有以下代码(数据库是 SQL Server Compact 4.0): 昏暗的竞争对手=context.Competitors.Find(id) 当我对此进行分析时,Find 方法需要 300 多毫秒才能从只有 60 条记录的表中检索竞争对手. 当我将代码更改为: 昏暗的竞争对手=context.Competitors.SingleOrDefault(function(c) c.ID ..

DbContext 丢弃更改而不处理

我有一个桌面客户端应用程序,它使用模式窗口来设置分层对象的属性.由于这是一个客户端应用程序并且对 DbContext 的访问不是线程化的,因此我在主 Form 上使用了一个长时间运行的上下文,该上下文被传递给模态子级. 这些模态窗口使用 PropertyGrid 来显示实体属性,并且还有取消按钮.如果修改了任何数据并按下了取消按钮,则更改会反映在父窗体中(我无法在其中处理 DbContext ..
发布时间:2021-12-08 20:50:34 C#/.NET

操作无法完成,因为 DbContext 已使用 MVC 4 处理

我知道这个问题被问了很多次.我已经阅读并实施了所有解决方案,但没有成功.当我使用 EF 从数据库中检索数据并绑定模型时出现此错误,然后在视图上使用此模型. 我的控制器代码是 使用 System.Linq;使用 System.Web.Mvc;使用 JsonRenderingMvcApplication.Models;命名空间 JsonRenderingMvcApplication.Contr ..
发布时间:2021-12-08 20:44:34 C#/.NET

如何在我的程序中记录从 DbContext.SaveChanges() 生成的 SQL?

根据这个线程,我们可以通过EFSQL/code>,但是 DbContext.SaveChanges() 呢?有没有什么简单的方法可以在没有任何额外框架的情况下完成这项工作? 解决方案 在实体框架 6.0 中,Database 类有一个属性 Action登录.所以设置日志记录就像: context.Database.Log = Console.WriteLine; 对于更高级的需求,您可 ..
发布时间:2021-12-08 20:10:09 C#/.NET

实体类型<type>不是当前上下文模型的一部分

我正在进入实体框架,但我不确定我是否遗漏了代码优先方法中的一个关键点. 我正在使用基于 https://genericunitofworkandrepositories.codeplex.com/ 并创建了我的实体. 但是当我尝试访问或修改实体时,我遇到了以下问题: System.InvalidOperationException: 实体类型 Estate 不是一部分当前上下文的 ..
发布时间:2021-12-08 20:00:48 C#/.NET

实体框架:一个数据库,多个 DbContext.这是一个坏主意吗?

迄今为止,我的印象是 DbContext 用于表示您的数据库,因此,如果您的应用程序使用一个数据库,您只需要一个 DbContext. 然而,一些同事想要将功能区分解为单独的 DbContext 类. 我相信这来自一个好地方——希望保持代码更干净——但它似乎不稳定.我的直觉告诉我这是一个坏主意,但不幸的是,我的直觉并不是设计决策的充分条件. 所以我在寻找: A) 为什么这可 ..

Autofac ResolvedParameter/ComponentContext 不起作用

我正在使用 asp.net core 和 Entity Framework Core.我的场景是,我想在运行时根据 HttpContext 查询字符串值更改连接字符串. 我正在尝试将 ResolvedParameter 与 Reflection components 作为 记录.但是,当我解决这个问题时它没有被注册.下面,我附上了我的代码片段. Autofac 注册类: public ..
发布时间:2021-11-30 19:59:34 C#/.NET