以下代码提供了 2 个条目,但预计至少有一个。
/// <inheritdoc />
public async Task<T> GetAsync<T>(Guid id, CancellationToken cancellationToken)
where T : class
{
var entity = await Set<T>().FindAsync(new[] { id }, cancellationToken);
return entity ?? throw new NotFoundException(typeof(T).Name, id);
}
给定的实体用“单一”签名,因此只允许一个实体从数据库中取回。
重现步骤
调用 GetAsync(model.Id, cancelToken) 以接收至少一个数据。数据库表只包含一个应该返回的行。
更多技术细节
EF Core 版本:3.0 数据库提供者:Pomelo.EntityFrameworkCore.MySql 目标框架:.Net Core 3.0 操作系统:Mac OS IDE:Rider