You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

90 lines
3.1 KiB

using Newtonsoft.Json;
using System.Collections.Generic;
namespace SqlSugar
{
public class ConnectionConfig
{
/// <summary>
///DbType.SqlServer Or Other
/// </summary>
public DbType DbType { get; set; }
/// <summary>
///Database Connection string
/// </summary>
public string ConnectionString { get; set; }
/// <summary>
/// true does not need to close the connection
/// </summary>
public bool IsAutoCloseConnection { get; set; }
/// <summary>
/// Default SystemTable,If you do not have system table permissions, use attribute
/// </summary>
public InitKeyType InitKeyType = InitKeyType.SystemTable;
/// <summary>
///If true, there is only one connection instance in the same thread within the same connection string
/// </summary>
public bool IsShardSameThread { get; set; }
/// <summary>
/// Configure External Services replace default services,For example, Redis storage
/// </summary>
[JsonIgnore]
public ConfigureExternalServices ConfigureExternalServices = _DefaultServices;
private static ConfigureExternalServices _DefaultServices = new ConfigureExternalServices();
/// <summary>
/// If SlaveConnectionStrings has value,ConnectionString is write operation, SlaveConnectionStrings is read operation.
/// All operations within a transaction is ConnectionString
/// </summary>
public List<SlaveConnectionConfig> SlaveConnectionConfigs { get; set; }
/// <summary>
/// More Gobal Settings
/// </summary>
public ConnMoreSettings MoreSettings { get; set; }
}
public class ConfigureExternalServices
{
private ISerializeService _SerializeService;
private ICacheService _ReflectionInoCache;
private ICacheService _DataInfoCache;
public ISerializeService SerializeService
{
get
{
if (_SerializeService == null)
return DefaultServices.Serialize;
else
return _SerializeService;
}
set{ _SerializeService = value;}
}
public ICacheService ReflectionInoCacheService
{
get
{
if (_ReflectionInoCache == null)
return DefaultServices.ReflectionInoCache;
else
return _ReflectionInoCache;
}
set{_ReflectionInoCache = value;}
}
public ICacheService DataInfoCacheService
{
get
{
if (_DataInfoCache == null)
return DefaultServices.DataInoCache;
else
return _DataInfoCache;
}
set { _DataInfoCache = value; }
}
public List<SqlFuncExternal> SqlFuncServices { get; set; }
public List<KeyValuePair<string, CSharpDataType>> AppendDataReaderTypeMappings { get; set; }
}
}