public Task Execute(IJobExecutionContext context) { DbFunctions dfunc = null; var users = dbContext.Users .Include(x => x.Token) .Where(x => SqlServerDbFunctionsExtensions.DateDiffDay(dfunc, x.Token.CreateAt, DateTime.Now) > 1) .ToList(); if (users.Any()) { var transation = dbContext.Database.BeginTransaction(); try { foreach (var user in users) { if (!user.IsEmailConfirmed) { dbContext.Users.Remove(user); } } dbContext.SaveChanges(); transation.Commit(); } catch { transation.Rollback(); } finally { transation.Dispose(); dbContext.Dispose(); } } return(Task.FromResult(0)); }
public void Dispose() { _context.Dispose(); }