namespace IStation.DAL
|
{
|
internal class ConfigHelper
|
{
|
public static string ConnectionString
|
{
|
get
|
{
|
if (string.IsNullOrEmpty(_connectionString))
|
{
|
var dbName = "Db4Schedule.db";
|
var directory = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data");
|
var filePath = directory + "\\" + dbName;
|
if (!System.IO.File.Exists(filePath))
|
{
|
try
|
{
|
SQLiteConnection.CreateFile(filePath);
|
}
|
catch (Exception ex)
|
{
|
var errMsg = $".db 文件不存在!Path:{filePath}\r\n{ex.Message}";
|
throw new Exception(errMsg);
|
}
|
}
|
_connectionString = $"DataSource={filePath}";
|
}
|
return _connectionString;
|
}
|
}
|
|
private static string _connectionString;
|
|
static SqlSugarClient _client = null;
|
public static SqlSugarClient GetSqlSugarClient()
|
{
|
if (_client != null)
|
return _client;
|
|
var config = new ConnectionConfig();
|
config.ConnectionString = "host=localhost;port=8123;user=default;password=123456;database=default";
|
config.IsAutoCloseConnection = true;
|
config.DbType = SqlSugar.DbType.ClickHouse;
|
config.InitKeyType = InitKeyType.Attribute;
|
//config.ConfigureExternalServices = new ConfigureExternalServices()
|
//{
|
// EntityService = (property, column) =>
|
// {
|
// //除主键外都可空
|
// if (!column.IsPrimarykey)
|
// {
|
// column.IsNullable = true;
|
// }
|
// }
|
//};
|
var db = new SqlSugarClient(config);
|
db.Aop.OnLogExecuting = (sql, pars) =>
|
{
|
Console.WriteLine(sql);
|
Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject
|
(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
|
Console.WriteLine();
|
};
|
|
return db;
|
}
|
|
|
//public static SqlSugarClient GetSqlSugarClient()
|
//{
|
// if (_client != null)
|
// return _client;
|
|
|
// var config = new ConnectionConfig();
|
// config.ConnectionString = ConnectionString;
|
// config.IsAutoCloseConnection = true;
|
// config.DbType = SqlSugar.DbType.Sqlite;
|
// config.ConfigureExternalServices = new ConfigureExternalServices()
|
// {
|
// EntityService = (property, column) =>
|
// {
|
// //除主键外都可空
|
// if (!column.IsPrimarykey)
|
// {
|
// column.IsNullable = true;
|
// }
|
// }
|
// };
|
// var db = new SqlSugarClient(config);
|
// db.Aop.OnLogExecuting = (sql, pars) =>
|
// {
|
// Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject
|
// (pars.ToDictionary(it => it.ParameterName, it => it.Value)));
|
// Console.WriteLine();
|
// };
|
|
// return db;
|
//}
|
|
|
|
}
|
}
|