28 lines
1013 B
C#
28 lines
1013 B
C#
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using TakeoutSaaS.Domain.Identity.Entities;
|
|
using TakeoutSaaS.Domain.Identity.Repositories;
|
|
|
|
namespace TakeoutSaaS.Infrastructure.Identity.Persistence;
|
|
|
|
/// <summary>
|
|
/// EF Core 后台用户仓储实现。
|
|
/// </summary>
|
|
public sealed class EfIdentityUserRepository : IIdentityUserRepository
|
|
{
|
|
private readonly IdentityDbContext _dbContext;
|
|
|
|
public EfIdentityUserRepository(IdentityDbContext dbContext)
|
|
{
|
|
_dbContext = dbContext;
|
|
}
|
|
|
|
public Task<IdentityUser?> FindByAccountAsync(string account, CancellationToken cancellationToken = default)
|
|
=> _dbContext.IdentityUsers.AsNoTracking().FirstOrDefaultAsync(x => x.Account == account, cancellationToken);
|
|
|
|
public Task<IdentityUser?> FindByIdAsync(Guid userId, CancellationToken cancellationToken = default)
|
|
=> _dbContext.IdentityUsers.AsNoTracking().FirstOrDefaultAsync(x => x.Id == userId, cancellationToken);
|
|
}
|