EFCore Bulkextension 的 BulkInsertAsync 未设置 id(身份字段)。
我们正在使用 EFCore.BulkExtensions 版本 6.3.3 根据 this 链接,此问题已在 v5.3.7 中修复。 有人知道它是否真的已修复或者我在这里遗漏了什么吗? 我们在结果变量中得到负 id,如下代码:
public async Task InsertAsync(List<User> users)
{
BulkConfig bulkCOnfig = new BulkConfig()
{
SetOutputIdentity = true
};
await this.BulkInsertAsync(users, bulkCOnfig);
var result = users.FirstOrDefault().Id;
}
但是如果我使用 BulkInsertOrUpdateAsync 那么我会得到除最后一条记录之外的所有记录的 ID。
尝试EFCore.BulkExtensions.MIT:
GitHub:https://github.com/videokojot/EFCore.BulkExtensions.MIT
NuGet:https://www.nuget.org/packages/EFCore.BulkExtensions.MIT/
它是 EFCore.BulkExtensions 的 MIT 分支,我修复了重新分级设置输出身份的多个问题,所以也许你的问题已经解决了。
我还重构和清理了该项目,因此任何人都可以简单地在本地签出并运行测试。
我可以给我重现场景,修复可能会很容易。
免责声明:我是这个 MIT 分叉的维护者。