tangxu
2024-05-04 2170a55c693cc4fdeb1895c48b2ac9cb0ac5775c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System.Reflection;
using SqlSugar;
 
namespace IStation.ChEr.DAL
{
    /// <summary>
    /// 数据库连接辅助类
    /// </summary>
    public class ConnectionFactory
    {
        private static Dictionary<int, ConnectionConfig> _mainConfigDict = new Dictionary<int, ConnectionConfig>();
 
        /// <summary>
        /// 创建连接对象
        /// </summary>
        public static ConnectionConfig MainConnection(int year)
        {
            try
            {
                if (_mainConfigDict.ContainsKey(year))
                    return _mainConfigDict[year];
 
                var root_directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
 
                var dsName = string.Format("WaterPredict{0}.db", year);
 
                var filePath = Path.Combine(root_directory, "Data", dsName);
                if (!System.IO.File.Exists(filePath))
                {
                    throw new System.Exception($"{dsName}文件不存在!Path:{filePath}");
                }
 
                var mainConfig = new ConnectionConfig()
                {
                    ConnectionString = $"DataSource={filePath}",
                    IsAutoCloseConnection = true,
                    DbType = SqlSugar.DbType.Sqlite
                };
                _mainConfigDict[year] = mainConfig;
                return mainConfig;
            }
            catch //(System.Exception ex)
            {
                //      LogHelper.Error(ex.Message);
                return null;
            }
        }
 
 
    }
}