首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实体框架扩展批量插入和复制记录

实体框架扩展批量插入和复制记录
EN

Stack Overflow用户
提问于 2020-06-06 12:20:23
回答 2查看 504关注 0票数 0

我在使用ZZZ项目的EF扩展库批量插入数据时遇到问题,记录对于特定的表(查找表)应该是唯一的,我正在将文件导入数据库以便记录可以重复,我找不到一种方法来使库忽略现有数据

当批量插入可能存在多次的记录时,我不确定使用哪个选项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-06 12:37:04

您需要如下所示的InsertIfNotExists选项。该ColumnPrimaryKeyExpression名为。它可以是您希望唯一的数据中的任何字段。

代码语言:javascript
运行
复制
await dbContext
    .BulkInsertAsync(sourceFiles, options =>
    {
        options.BatchSize = BatchSize;
        options.AutoMapOutputDirection = false;
        options.InsertIfNotExists = true;
        options.InsertKeepIdentity = false;
        options.ColumnPrimaryKeyExpression = sf => new { sf.<YourUniqueField>};
    })
    .ConfigureAwait(false);
票数 2
EN

Stack Overflow用户

发布于 2020-06-06 14:05:58

您可以使用“options.InsertIfNotExists = true;”,如下所示:

代码语言:javascript
运行
复制
context.BulkInsert(customers, options => { 
    options.InsertIfNotExists = true;
    options.PrimaryKeyExpression = customer => customer.Code;
  });

options参数允许您使用lambda表达式来自定义插入实体的方式

我建议访问entityframeworkExtensions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62227246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档