Пример #1
0
        public SqlSugarClient Create(out SqlSugarOptions options, string optionName = null)
        {
            options = null;
            if (string.IsNullOrEmpty(optionName) || optionName == _options?.OptionName)
            {
                options = _options;
            }
            else if (_multipleOptions != null && _multipleOptions.Any(x => x.OptionName == optionName))
            {
                options = _multipleOptions.FirstOrDefault(x => x.OptionName == optionName);
            }
            if (options == null)
            {
                throw new SqlSugarUnitOfWorkException("Options is null");
            }
            var client = new SqlSugarClient(new ConnectionConfig
            {
                IsAutoCloseConnection = true,
                ConnectionString      = options.ConnectionString,
                DbType      = options.DbType,
                InitKeyType = InitKeyType.SystemTable
            });

            if (options.OpenLogTrace && _logAction != null)
            {
                client.Aop.OnLogExecuting = (sql, pars) =>
                {
                    var paraStr = "";
                    if (pars != null && pars.Any())
                    {
                        paraStr = Environment.NewLine + ", parameters: " + string.Join(Environment.NewLine + ",", pars.Select(x => $"DbType: {x.DbType} - Name: { x.ParameterName} - Value: { x.Value}"));
                    }
                    _logAction($"{sql}{paraStr}");
                    //Console.WriteLine($"SQL: {sql}");
                };
            }
            return(client);
        }
Пример #2
0
 public SqlSugarUnitOfWork(SqlSugarOptions options, Action <string> logAction)
 {
     _options   = options;
     _dbFactory = new DbFactory(_options, logAction);
 }
Пример #3
0
 public DbFactory(SqlSugarOptions options, Action <string> logAction)
 {
     _options   = options;
     _logAction = logAction;
 }
Пример #4
0
 public DbFactory(MultipleSqlSugarOptions multipleOptions, Action <string> logAction)
 {
     _multipleOptions = multipleOptions;
     _options         = _multipleOptions.FirstOrDefault(x => x.IsDefaultOption);
     _logAction       = logAction;
 }
Пример #5
0
 public SqlSugarUnitOfWorkModule(IConfigurationRoot jimuAppSettings) : base(jimuAppSettings)
 {
     _options    = JimuAppSettings.GetSection(typeof(SqlSugarOptions).Name).Get <SqlSugarOptions>();
     _mulOptions = JimuAppSettings.GetSection(typeof(MultipleSqlSugarOptions).Name).Get <MultipleSqlSugarOptions>();
 }