使用 Repository 在 C# 中返回最后插入的 id

Returning last inserted id in C# using Repository

.NET Core/C# 应用程序中,使用 Boilerplate framework 我使用存储库进行数据访问:

await _licenseRepository.InsertAsync(license);

但是在一个方法中我需要在两个不同的表中做两次插入,然后做关系:

public async Task Insert(License license, LicenseRenewal licenseRenewal)
{
    var l = await _licenseRepository.InsertAsync(license);
    var lr = await _licenseRenewalRepository.InsertAsync(licenseRenewal);
    await AssignRenewal(l.Id, lr.Id);
}

问题是,当我执行插入操作时,我没有获得新数据的 ID,因此无法执行 AssignRenewal

如何获取插入数据的ID?

aspnetboilerplate.com/Pages/Documents/Repositories#insert 状态:

"[...] The InsertAndGetId method returns the Id of a newly inserted entity.[...]"

所以你应该试试

Task<TPrimaryKey> InsertAndGetIdAsync(TEntity entity);