Do I need to dispose the dbconext in the GetSubmissionDetailsAsync method?
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped(provider=>provider.GetService<IMLDbContextFactory().CreateElmsDbContext());
}
public ElmsContext CreateElmsDbContext()
{
var connectionString = _configuration.GetConnectionString("elmsdatabase");
var optionsBuilder = new DbContextOptionsBuilder<ElmsContext>()
.UseSqlServer(connectionString);
return new ElmsContext(optionsBuilder.Options);
}
public class DataAccessObject : IDataAccessObject
{
private readonly ILoggerAdapter<DataAccessObject> _logger;
private readonly ElmsContext _elmsContext;
private readonly ElmsPolicyContext _elmsPolicyContext;
public DataAccessObject(ElmsContext elmsContext, ElmsPolicyContext elmsPolicyContext, ILoggerAdapter<DataAccessObject> logger)
{
_logger = logger;
_elmsContext = elmsContext;
_elmsPolicyContext = elmsPolicyContext;
}
public async Task<CertifiedBusinessSubmissionDto> GetSubmissionDetailsAsync(int? submissionId)
{
var subId = new SqlParameter("submission_id", submissionId);
var submission = await _elmsContext.CertifiedBusinessSubmissionDTO
.FromSqlRaw("EXECUTE dbo.get_info @submission_id", subId)
.ToListAsync();
return submission != null && submission.Count > 0 ? submission.FirstOrDefault() : null;
}
}