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; /// /// EF Core 后台用户仓储实现。 /// public sealed class EfIdentityUserRepository : IIdentityUserRepository { private readonly IdentityDbContext _dbContext; public EfIdentityUserRepository(IdentityDbContext dbContext) { _dbContext = dbContext; } public Task FindByAccountAsync(string account, CancellationToken cancellationToken = default) => _dbContext.IdentityUsers.AsNoTracking().FirstOrDefaultAsync(x => x.Account == account, cancellationToken); public Task FindByIdAsync(Guid userId, CancellationToken cancellationToken = default) => _dbContext.IdentityUsers.AsNoTracking().FirstOrDefaultAsync(x => x.Id == userId, cancellationToken); }