123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using EVCB_OCPP.Domain;
- using EVCB_OCPP.Domain.ConnectionFactory;
- using EVCB_OCPP.Domain.Extensions;
- using Microsoft.Data.SqlClient;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using NLog.Extensions.Logging;
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Data.Entity.Infrastructure;
- using System.Diagnostics;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace EVCB_OCPP.WSServer.Helper;
- public static class AddPortalDbContext
- {
- public const string CommandTimeoutKey = "CommandTimeout";
- public static IServiceCollection AddWebDBConetext(this IServiceCollection services, IConfiguration configuration)
- {
- const string DbUserIdKey = "WebDbUserId";
- const string DbPassKey = "WebDbPass";
- const string DbConnectionStringKey = "WebDBContext";
- var conneciotnString = configuration.GetConnectionString(DbUserIdKey, DbPassKey, DbConnectionStringKey);
- services.AddSqlConnectionFactory<WebDBConetext>(conneciotnString);
- return services;
- }
- public static IServiceCollection AddOnlineLogDBContext(this IServiceCollection services, IConfiguration configuration)
- {
- const string DbUserIdKey = "OnlineLogDbUserId";
- const string DbPassKey = "OnlineLogDbPass";
- const string DbConnectionStringKey = "OnlineLogDBContext";
- var conneciotnString = configuration.GetConnectionString(DbUserIdKey, DbPassKey, DbConnectionStringKey);
- services.AddSqlConnectionFactory<OnlineLogDBContext>(conneciotnString);
- return services;
- }
- private static void AddPortalDbContextInternal<T>(
- IServiceCollection services, IConfiguration configuration,
- string connectionString,bool logToConsole = false) where T : DbContext
- {
- var commandTimeout = int.TryParse(configuration[CommandTimeoutKey], out var temp) ? temp : 180;
-
- services.AddPooledDbContextFactory<T>((serviceProvider, options) => {
- options.UseSqlServer(connectionString, dbOptions =>
- {
- dbOptions.CommandTimeout(commandTimeout);
- });
- options.UseLoggerFactory(serviceProvider.GetRequiredService<ILoggerFactory>());
- });
- }
- }
- /// <summary>
- /// Dummy
- /// </summary>
- public class WebDBConetext : DbContext {}
- /// <summary>
- /// Dummy
- /// </summary>
- public class OnlineLogDBContext : DbContext { }
|