You don't post your ApplicationDbContext, or how your conenction string is provided, but pottentially ApplicationDbContext should extend DbContext, so:
public class ApplicationDbContext: DbContext
{
public ApplicationDbContext(DbContextOptions<CrmContext> options) : base(options)
{
}
}
And your Unit of Work should receive your ApplicationDbContext:
public class UnitOfWork : IUnitOfWork
{
private readonly ApplicationDbContext_dbContext;
public UnitOfWork(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}
public async Task CompleteAsync()
{
await _dbContext.SaveChangesAsync();
}
public void Dispose()
{
_dbContext.Dispose();
}
}
And then you can pass your connection string as part of the dependency injection:
services.AddDbContext<ApplicationDbContext>((options => options.UseSqlServer([connection string details go here]));