dbcontext 相关问题

DbContext API首次附带Entity Framework 4.1版,为使用Entity Framework提供了更高效的表面,可以与Code First,Database First和Model First方法一起使用。

使用 MSTest 测试 ASP.NET Core MVC 中的实际数据库

在 ASP.NET Core MVC Web 应用程序中,我需要测试我的数据库,因此我创建了一个包含 DbContext 的项目。现在我需要测试这个数据库(DbContext),尽管我已经阅读了一些

回答 1 投票 0

C# .NET Core 方法执行多次 - 创建多个线程

上下文 我从 Javascript 对控制器进行 ajax 调用以更新实体“Owner”。控制器使用服务来处理请求,并相应地更新实体。在

回答 1 投票 0

在 DbContext 类中管理 SQLite 连接是一个好习惯吗?

我正在编写一个使用SQLite的程序,每次使用数据库时打开和关闭连接对我来说似乎很奇怪,所以我决定在上下文类中使用它。这是正常现象吗

回答 1 投票 0

全局配置将所有枚举存储为字符串,即使它们被定义为可空

我想在我的 DBContext 中有一个全局配置,以将模型中的所有枚举保存为数据存储中的字符串,约束是我需要配置才能工作,即使枚举可为空 我已经...

回答 1 投票 0

在DbContext中获取appSettings,无依赖注入,无MVC

我有一个.net core 8应用程序。 它是一个多对象分层 DLL 架构。从上到下我的架构看起来像这样。 “简单”Web Rest API DLL业务逻辑代码层 DLL 实体...

回答 1 投票 0

Linqpad 8 无法连接到 .NET 8 SQL Server DbContext

我尝试在 LinqPad 8.4.11 中添加连接时遇到错误。我想使用 .NET 8 dll 中的 dbContext。我唯一的选择是 DbContextOptions 的构造函数(省略连接字符串...

回答 1 投票 0

InvalidOperationException:无法为属性“_companyRepo”提供值

我正在构建 ASP.NET Core 8.0 Blazor 解决方案。该解决方案有 3 个项目。第一个是包含模型类的 iStar.Framework.dll 项目。第二个是 iStar.Framework.ModelIRepos.dll 包含...

回答 1 投票 0

无法为“Microsoft.EntityFrameworkCore.DbContextOptions”类型创建“类型”的“DbContext”

无法创建类型为“”的“DbContext”。异常“尝试激活“API.Data.DataContext”时无法解析类型“Microsoft.EntityFrameworkCore.DbContextOptions”的服务。” w...

回答 1 投票 0

如何从 Entity Framework Core 中的导航集合属性获取原始值?

使用 Entity Framework Core,我需要检查实体内导航属性的原始值,但我找不到方法来执行此操作。 我能够读取

回答 2 投票 0

高效更新DbContext,无需依赖注入

我想编写一个 ClaimsPrincipal 扩展,它返回与设置了 IsLimited 标志的用户关联的公司。 公共静态类 ClaimsPrincipalExtensions { 公共静态布尔值

回答 1 投票 0

几乎同时执行 2 次插入时,SQL 允许插入重复数据

上下文:我在 Azure 中有一个应用程序,它从多个客户端接收信息,但是,有时客户端会同时发送多条消息,这似乎会导致我的

回答 1 投票 0

在 ASP.NET Core 中注入 DbContext - 具体类型或接口?

在 ASP.NET Core 项目中,我正在注入实体框架 DbContext: 公共 MessageRepository(MyDbContext 上下文) { } 配置是: 服务 .AddEntityFramework() .AddSqlServer()...

回答 3 投票 0

Scaffold-DbContext 不生成模型

我正在尝试运行 Scaffold-DbContext 从旧系统生成一些模型。我正在运行以下命令: Scaffold-DbContext“数据源=localhost\SQLEXPRESS;初始目录=MAINT_TRA...

回答 2 投票 0

在两个单独的层中实现dbcontext

我实现干净的架构,我不想将我的 dataLayer 引用到 HostLayer 并使用 HostDbContext(DesignTimeDbContext) 仅进行迁移,使用我的 DataDbContext 连接到数据库,例如...

回答 1 投票 0

实体框架dbContext多线程问题

我在使用实体框架 dbContext 时读过,它不是线程安全的,并且“不应该让多个线程在同一个 dbContext 上工作”。 下面的代码会违反该规则吗?我是

回答 1 投票 0

要求 EF Core DBContext 忽略某些自动包含实体的 API?

在 EF Core 7 DbContext 类中的 UpdateNavigationLoading 中,我有一些 AutoInclude 调用: 私有静态无效UpdateNavigationLoading(模型构建器模型构建器){ { modelBuilder.Entity 在 EF Core 7 DbContext 课程中,在 UpdateNavigationLoading 中,我有一些 AutoInclude 调用: private static void UpdateNavigationLoading(ModelBuilder modelBuilder){ { modelBuilder.Entity<Order>() .Navigation(order => order.OrderItems) .AutoInclude(); modelBuilder.Entity<OrderItem>() .Navigation(orderItem => orderItem.Item) .AutoInclude(); // ... etc } 但在我的一个 API 调用中,我不希望包含要与任何 Item 记录一起返回的 OrderItem 实体。 在基础服务中,我最终基本上结束于: return context.Set<Order>().AsQueryable(); 除此之外,对于从 IQueryable 返回的 AsQueryable(),我添加了一些 where 子句等,例如: if (StartDate.HasValue) { query = query.Where(item => item.Created >= filter.StartDate); } 或添加限制: if (Limit.HasValue) { query = query.Take(Limit.Value); } 我相信你可以想象更多.. 但是由于 modelbuilder UpdateNavigationLoading 调用中的内容,OrderItem 的 Item 实体会自动包含在内。 在不更改 UpdateNavigationLoading 调用的情况下,有没有办法可以指示或要求 API 服务级别的 DbContext 不 尊重 AutoInclude 的 OrderItem.Item? 所以在我的电话中 context.Set<Order>().AsQueryable(); 或者在调用之前,我可以在 DbContext 中设置一些内容来执行我需要的操作吗? 在 EF Core 7 中,没有直接的内置功能可以在 API 服务级别忽略或禁用特定自动包含的实体,而无需修改 UpdateNavigationLoading 方法。但是,您可以通过组合使用 Include 和 IgnoreAutoIncludes 方法来实现所需的行为。 以下示例说明了如何修改 API 服务代码以排除 Item 实体自动包含在 OrderItem 中: using Microsoft.EntityFrameworkCore; // ... public IQueryable<Order> GetOrders(DbContext context, DateTime? startDate, int? limit) { var query = context.Set<Order>().AsQueryable(); // Apply custom filters if (startDate.HasValue) { query = query.Where(item => item.Created >= startDate); } if (limit.HasValue) { query = query.Take(limit.Value); } // Disable auto-includes temporarily query = query.IgnoreAutoIncludes(); // Include only necessary entities query = query.Include(order => order.OrderItems).ThenInclude(orderItem => orderItem.PropertyA) // Add more includes if needed // .Include(order => order.OtherEntity) return query; } 在上面的代码中,我们首先在 IgnoreAutoIncludes 对象上调用 IQueryable<Order> 来禁用后续查询的自动包含。然后,我们使用 Include 方法显式指定要包含的实体。通过不包含 Item 实体,在获取 OrderItem 记录时不会自动包含该实体。 请记住根据您的实体结构和关系调整 Include 调用。 注意: IgnoreAutoIncludes 方法在 EF Core 5 或更早版本中不可用。它是在 EF Core 6 中引入的。因此,如果您使用的是旧版本,此方法将不起作用,您可能需要修改 UpdateNavigationLoading 方法或考虑其他替代方案。

回答 1 投票 0

DBContext 配置正在生成配置错误

我正在尝试在 Post 方法中使用此 DBContext 来添加记录... [HttpPost(名称 = "")] public IEnumerable PostCookie([FromBody] Cookie 数据) { DbContextOptions<

回答 1 投票 0

使用存储库模式在.net core中的一个解决方案中解决两个dbcontexts

我有两种 DbContext 类型: 私有静态只读 AutomationContext _aContext; 私有静态只读RajaDb2Context _bContext; 我还有两个存储库: 公共接口IRepository<...

回答 1 投票 0

如何使用 EF Core 在 C# 中使字段唯一?

我想在 EF Core 中使字段唯一,并且我正在使用 .NET 5。我无法使用 [Index(IsUnique = true)] 属性,因为如果我尝试,则会收到错误。也许它是 EF 的一部分,但不是 EF Core。 我怎样才能

回答 2 投票 0

是否可以将 MassTransit 事务发件箱与多个数据库上下文一起使用?

我正在尝试构建一个模块化的整体应用程序,其中每个模块都在其自己的类库项目中定义。我想使用单个 SQL Server 2019 数据库并创建一个单独的数据库

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.