0

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

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

4

2 回答 2

2

您需要如下所示的 InsertIfNotExists 选项。ColumnPrimaryKeyExpression 未命名。它可以是您想要唯一的数据中的任何字段。

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);
于 2020-06-06T04:37:03.987 回答
0

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

context.BulkInsert(customers, options => { 
    options.InsertIfNotExists = true;
    options.PrimaryKeyExpression = customer => customer.Code;
  });

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

我建议访问entityframeworkExtensions

于 2020-06-06T06:05:57.840 回答