我在使用ZZZ项目的EF扩展库批量插入数据时遇到问题,记录对于特定的表(查找表)应该是唯一的,我正在将文件导入数据库以便记录可以重复,我找不到一种方法来使库忽略现有数据
当批量插入可能存在多次的记录时,我不确定使用哪个选项。
发布于 2020-06-06 12:37:04
您需要如下所示的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-06 14:05:58
您可以使用“options.InsertIfNotExists = true;”,如下所示:
context.BulkInsert(customers, options => {
options.InsertIfNotExists = true;
options.PrimaryKeyExpression = customer => customer.Code;
});
options参数允许您使用lambda表达式来自定义插入实体的方式
https://stackoverflow.com/questions/62227246
复制相似问题