问题标签 [entity-framework-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1386 浏览

asp.net-mvc - 实体框架插入失败

使用 EF6 + EF 扩展进行批量删除。

在代码中我做了两件事:首先,清理所有相关实体,然后添加新的相关实体。只是为了避免检查相似性。

这个主要对象类:

这是删除1代码:

这是删除 2 代码:

在一些操作之后添加新条目:

因此,当我使用 delete-1 使其更快时(在某些情况下最多有 10K 个条目要删除),我收到了这个错误:

System.InvalidOperationException:对数据库的更改已成功提交,但在更新对象上下文时发生错误。ObjectContext 可能处于不一致的状态。内部异常消息:保存或接受更改失败,因为“IDS.DAL.Entities.Distrule_content”类型的多个实体具有相同的主键值。确保显式设置的主键值是唯一的。确保在数据库和实体框架模型中正确配置了数据库生成的主键。使用实体设计器进行数据库优先/模型优先配置。使用“HasDatabaseGeneratedOption”流式 API 或“DatabaseGeneratedAttribute”

当我使用 delete-2 时,一切都很好,只是时间更长。

具有 db 上下文的所有操作都在事务范围内工作,如下所示:

数据库上下文如下所示:

如何避免此异常,因为我想将此扩展用于 EF?

0 投票
1 回答
1583 浏览

entity-framework - 使用 EntityFramework-Plus 进行批量插入

我计划使用EntityFramework-Plus进行批量操作,但我不确定它是否支持批量插入。

因此,例如,我有Parent 个实体,我想Child批量插入实体我如何使用 EF Plus

在下面的代码中,父母的数量可能在 1000-2000 之间,孩子的数量是 10-20。如果条件满足,我想为每个父母添加相同的孩子

0 投票
1 回答
1567 浏览

entity-framework - Differense between EF Extensions UpdateFromQuery() and EF Plus Update()

The library Entity.Framework.Extensions (paid) has a method for doing entity updates:

The library Entity.Framework.Plus (free) has a similar method for doing entity updates:

What is the difference between these two implementations?

0 投票
1 回答
2780 浏览

c# - 实体框架扩展的批量操作与 EFE 的批量操作

我正在研究用于批量操作的实体框架扩展,并从同一个开发人员 EF Plus 中找到。现在EFE有付费的批量操作,EF PLus有Batch操作,声称只执行批量更新和删除,但被称为批量操作。那么EFE的批量操作和EF加批量操作有什么区别呢?

0 投票
1 回答
142 浏览

entity-framework-extensions - 提供程序无法使用 EFE 与 EF Core 和 SQLite 解决异常

我只是想评估 EFE,看看它是否可以为我提供一些性能改进。

为此,我使用带有 SQlite (Microsoft.EntityFrameworkCore.Sqlite) 的 EF Core 2.0.1 创建了一个简单的 dotnet 核心控制台应用程序,并添加了 Z.EntityFramework.Extensions.EFCore 包 v2.0.10。

在我的 DbContext.OnConfiguring 中,我执行以下操作:

但是当我调用 context.BulkInsert 我得到以下异常:

无法解析提供程序。您必须显式设置提供程序。

你能告诉我我错过了什么吗?提前致谢。

0 投票
1 回答
61 浏览

entity-framework - 使用实体框架扩展批量方法时的上次修改属性

我正在尝试使用 EFE 进行大型数据同步操作,因为它会涉及大量插入或大量更新,所以我使用 BulkMerge 方法。

我们的旧方法是将所有内容放入一个巨大的复杂数据图中,然后在我们的上下文中调用 SaveChanges。我们通过覆盖我们上下文的 SaveChanges 方法来处理“上次修改”类型的属性,类似于其他问题中投票最多(不接受)的答案:

Entity Framework/SQL2008 - 如何自动更新实体的 LastModified 字段?

然而,EFE 的批量操作不使用 SaveChanges,因此现在这些属性保持为空。有没有办法在通过 EFE 保存时继续填写这些属性,而不必求助于数据库触发器?也许类似于 BulkOperationExecuting 事件,可以让您检查正在操作的实体类型并相应地运行一些代码?

0 投票
1 回答
205 浏览

c# - BulkSynchronize 数据子集

我正在使用 EF 扩展并希望同步数据子集。

例如我的表:

新数据来了

而且我想替换所有 B 而不触及 As 来获取

有没有办法使用批量操作来实现这一点?

0 投票
1 回答
123 浏览

entity-framework - 澄清 EF Plus 究竟缓存了什么

如果我有一个服务请求表并在其上运行以下代码:

这与保存此查询是否相同:

SELECT * FROM ServiceRequests WHERE ID = 12345

还是和说的一样:

SELECT * FROM ServicesRequests(然后从新缓存的数据中找到 id 12345)。

换句话说,关于使用上面的代码行,究竟缓存了什么?如果我稍后返回一个新 ID,那么它会查询缓存还是转到数据库,因为它第一次只保存了第一个 ID 的记录?

0 投票
1 回答
60 浏览

vb.net - BulkSynchronize 删除子集数据 VB.NET

我在 VB.Net 项目中使用实体框架扩展(EFE),我想知道如何在 VB 中编写下面提到的 C# 语法。感谢任何帮助

ctx.BulkSynchronize(list, options => options.ColumnSynchronizeDeleteKeySubsetExpression = c => c.Type)

0 投票
1 回答
801 浏览

entity-framework-extensions - EFPlus BulkInsert - 如何获取数据库生成的 ID

使用带有 IDENTITY 列的 MSSQL,在调用 BulkInsert 后如何获取与表 ID 同步的实体 ID?

两者都没有达到要求的结果:

假设我们有一个实体

以及对应的TSQL表列定义

实体框架在调用 SaveChanges() 后自动设置 Id

另请参阅如何在实体框架中获取插入实体的 ID?

EFPlus 如何提供获取插入实体 ID 的方法?