使用 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);
在 .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);