oi-metrology/Archive/Repositories/SQLDbConnectionFactory.cs

29 lines
878 B
C#

using OI.Metrology.Archive.Models;
using OI.Metrology.Shared.Repositories;
using System;
using System.Data.Common;
using System.Data.SqlClient;
namespace OI.Metrology.Archive.Repositories;
public class SQLDbConnectionFactory : IDbConnectionFactory
{
private readonly AppSettings _AppSettings;
public SQLDbConnectionFactory(AppSettings appSettings) => _AppSettings = appSettings;
public DbConnection GetDbConnection()
{
DbProviderFactories.RegisterFactory(
typeof(SqlConnection).Namespace,
SqlClientFactory.Instance);
if (string.IsNullOrEmpty(_AppSettings.ConnectionString))
throw new Exception("Connection string is missing");
DbConnection c = SqlClientFactory.Instance.CreateConnection();
c.ConnectionString = _AppSettings.ConnectionString;
c.Open();
return c;
}
}