Entity Framework 扩展批量插入和重复记录

Entity Framework Extensions Bulk Insert and duplicate records

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

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

您需要如下所示的 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);

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

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

选项参数让您可以使用 lambda 表达式来自定义插入实体的方式

我建议访问entityframeworkExtensions