我在使用ZZZ Projects的EF Extensions库批量插入数据时遇到问题,该记录对于特定表(查找表)应该是唯一的,并且我正在将文件导入数据库,以便可以重复记录,我可以找不到使库忽略现有数据的方法
我不确定在批量插入可以多次存在的记录时要使用哪些选项。
答案 0 :(得分: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);
答案 1 :(得分:0)
您可以使用“ options.InsertIfNotExists = true;” 如下:
context.BulkInsert(customers, options => {
options.InsertIfNotExists = true;
options.PrimaryKeyExpression = customer => customer.Code;
});
options参数使您可以使用lambda表达式来自定义实体的插入方式