【问题标题】:Returning last inserted id in C# using Repository使用 Repository 在 C# 中返回最后插入的 id
【发布时间】:2020-07-02 11:11:56
【问题描述】:

.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?

【问题讨论】:

  • 你能添加InsertAsync的代码吗?
  • 你试过license.IdlicenseRenewal.Id吗?

标签: c# .net-core aspnetboilerplate


【解决方案1】:

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

"[...] InsertAndGetId 方法返回新插入的 Id 实体。[...]"

所以你应该试试

Task<TPrimaryKey> InsertAndGetIdAsync(TEntity entity);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2011-11-06
    • 2014-09-06
    • 1970-01-01
    相关资源
    最近更新 更多