v0.1.1 增加选项 IsQuoteSqlName 控制是否使用 [] 或 "" 或 `` 包含数据库名称 #6

This commit is contained in:
28810 2019-02-21 11:22:21 +08:00
parent 204ab9f7d8
commit ae347d4b04
14 changed files with 27 additions and 7 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<Version>0.1.0</Version> <Version>0.1.1</Version>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>打造 .NETCore 最方便的 ORMDbFirst 与 CodeFirst 混合使用,提供从实体同步数据库,或者从数据库生成实体代码,支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite 数据库。</Description> <Description>打造 .NETCore 最方便的 ORMDbFirst 与 CodeFirst 混合使用,提供从实体同步数据库,或者从数据库生成实体代码,支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite 数据库。</Description>
<PackageProjectUrl>https://github.com/2881099/FreeSql</PackageProjectUrl> <PackageProjectUrl>https://github.com/2881099/FreeSql</PackageProjectUrl>

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<Version>0.1.0</Version> <Version>0.1.1</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>打造 .NETCore 最方便的 ORMDbFirst 与 CodeFirst 混合使用,提供从实体同步数据库,或者从数据库生成实体代码,支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite 数据库。</Description> <Description>打造 .NETCore 最方便的 ORMDbFirst 与 CodeFirst 混合使用,提供从实体同步数据库,或者从数据库生成实体代码,支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite 数据库。</Description>

View File

@ -13,6 +13,7 @@ namespace FreeSql {
string _masterConnectionString; string _masterConnectionString;
string[] _slaveConnectionString; string[] _slaveConnectionString;
bool _isAutoSyncStructure = false; bool _isAutoSyncStructure = false;
bool _isQuoteSqlName = true;
bool _isSyncStructureToLower = false; bool _isSyncStructureToLower = false;
bool _isLazyLoading = false; bool _isLazyLoading = false;
Action<DbCommand> _aopCommandExecuting = null; Action<DbCommand> _aopCommandExecuting = null;
@ -67,6 +68,15 @@ namespace FreeSql {
return this; return this;
} }
/// <summary> /// <summary>
/// 数据库名称使用 [] 或 `` 或 "" 包含起来,取决于数据库类别
/// </summary>
/// <param name="value">true:转小写, false:不转</param>
/// <returns></returns>
public FreeSqlBuilder UseQuoteSqlName(bool value) {
_isQuoteSqlName = value;
return this;
}
/// <summary>
/// 转小写同步结构 /// 转小写同步结构
/// </summary> /// </summary>
/// <param name="value">true:转小写, false:不转</param> /// <param name="value">true:转小写, false:不转</param>
@ -107,6 +117,7 @@ namespace FreeSql {
} }
if (ret != null) { if (ret != null) {
ret.CodeFirst.IsAutoSyncStructure = _isAutoSyncStructure; ret.CodeFirst.IsAutoSyncStructure = _isAutoSyncStructure;
ret.CodeFirst.IsQuoteSqlName = _isQuoteSqlName;
ret.CodeFirst.IsSyncStructureToLower = _isSyncStructureToLower; ret.CodeFirst.IsSyncStructureToLower = _isSyncStructureToLower;
ret.CodeFirst.IsLazyLoading = _isLazyLoading; ret.CodeFirst.IsLazyLoading = _isLazyLoading;
var ado = ret.Ado as Internal.CommonProvider.AdoProvider; var ado = ret.Ado as Internal.CommonProvider.AdoProvider;

View File

@ -9,6 +9,10 @@ namespace FreeSql {
/// </summary> /// </summary>
bool IsAutoSyncStructure { get; set; } bool IsAutoSyncStructure { get; set; }
/// <summary>
/// 数据库名称使用 [] 或 `` 或 "" 包含起来,取决于数据库类别
/// </summary>
bool IsQuoteSqlName { get; set; }
/// <summary> /// <summary>
/// 转小写同步结构 /// 转小写同步结构
/// </summary> /// </summary>

View File

@ -24,6 +24,7 @@ namespace FreeSql.MySql {
} }
public bool IsAutoSyncStructure { get; set; } = true; public bool IsAutoSyncStructure { get; set; } = true;
public bool IsQuoteSqlName { get; set; } = true;
public bool IsSyncStructureToLower { get; set; } = false; public bool IsSyncStructureToLower { get; set; } = false;
public bool IsLazyLoading { get; set; } = false; public bool IsLazyLoading { get; set; } = false;

View File

@ -42,7 +42,7 @@ namespace FreeSql.MySql {
}); });
internal override string FormatSql(string sql, params object[] args) => sql?.FormatMySql(args); internal override string FormatSql(string sql, params object[] args) => sql?.FormatMySql(args);
internal override string QuoteSqlName(string name) => $"`{name.Trim('`').Replace(".", "`.`")}`"; internal override string QuoteSqlName(string name) => _orm.CodeFirst.IsQuoteSqlName ? $"`{name.Trim('`').Replace(".", "`.`")}`" : name;
internal override string QuoteParamterName(string name) => $"?{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}"; internal override string QuoteParamterName(string name) => $"?{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}";
internal override string IsNull(string sql, object value) => $"ifnull({sql}, {value})"; internal override string IsNull(string sql, object value) => $"ifnull({sql}, {value})";
internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"concat({left}, {right})"; internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"concat({left}, {right})";

View File

@ -24,6 +24,7 @@ namespace FreeSql.Oracle {
} }
public bool IsAutoSyncStructure { get; set; } = true; public bool IsAutoSyncStructure { get; set; } = true;
public bool IsQuoteSqlName { get; set; } = true;
public bool IsSyncStructureToLower { get; set; } = false; public bool IsSyncStructureToLower { get; set; } = false;
public bool IsLazyLoading { get; set; } = false; public bool IsLazyLoading { get; set; } = false;

View File

@ -38,7 +38,7 @@ namespace FreeSql.Oracle {
}); });
internal override string FormatSql(string sql, params object[] args) => sql?.FormatOracleSQL(args); internal override string FormatSql(string sql, params object[] args) => sql?.FormatOracleSQL(args);
internal override string QuoteSqlName(string name) => $"\"{name.Trim('"').Replace(".", "\".\"")}\""; internal override string QuoteSqlName(string name) => _orm.CodeFirst.IsQuoteSqlName ? $"\"{name.Trim('"').Replace(".", "\".\"")}\"" : name;
internal override string QuoteParamterName(string name) => $":{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}"; internal override string QuoteParamterName(string name) => $":{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}";
internal override string IsNull(string sql, object value) => $"nvl({sql}, {value})"; internal override string IsNull(string sql, object value) => $"nvl({sql}, {value})";
internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}"; internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}";

View File

@ -29,6 +29,7 @@ namespace FreeSql.PostgreSQL {
} }
public bool IsAutoSyncStructure { get; set; } = true; public bool IsAutoSyncStructure { get; set; } = true;
public bool IsQuoteSqlName { get; set; } = true;
public bool IsSyncStructureToLower { get; set; } = false; public bool IsSyncStructureToLower { get; set; } = false;
public bool IsLazyLoading { get; set; } = false; public bool IsLazyLoading { get; set; } = false;

View File

@ -94,7 +94,7 @@ namespace FreeSql.PostgreSQL {
}); });
internal override string FormatSql(string sql, params object[] args) => sql?.FormatPostgreSQL(args); internal override string FormatSql(string sql, params object[] args) => sql?.FormatPostgreSQL(args);
internal override string QuoteSqlName(string name) => $"\"{name.Trim('"').Replace(".", "\".\"")}\""; internal override string QuoteSqlName(string name) => _orm.CodeFirst.IsQuoteSqlName ? $"\"{name.Trim('"').Replace(".", "\".\"")}\"" : name;
internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}"; internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}";
internal override string IsNull(string sql, object value) => $"coalesce({sql}, {value})"; internal override string IsNull(string sql, object value) => $"coalesce({sql}, {value})";
internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}"; internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}";

View File

@ -23,6 +23,7 @@ namespace FreeSql.SqlServer {
} }
public bool IsAutoSyncStructure { get; set; } = true; public bool IsAutoSyncStructure { get; set; } = true;
public bool IsQuoteSqlName { get; set; } = true;
public bool IsSyncStructureToLower { get; set; } = false; public bool IsSyncStructureToLower { get; set; } = false;
public bool IsLazyLoading { get; set; } = false; public bool IsLazyLoading { get; set; } = false;

View File

@ -32,7 +32,7 @@ namespace FreeSql.SqlServer {
}); });
internal override string FormatSql(string sql, params object[] args) => sql?.FormatSqlServer(args); internal override string FormatSql(string sql, params object[] args) => sql?.FormatSqlServer(args);
internal override string QuoteSqlName(string name) => $"[{name.TrimStart('[').TrimEnd(']').Replace(".", "].[")}]"; internal override string QuoteSqlName(string name) => _orm.CodeFirst.IsQuoteSqlName ? $"[{name.TrimStart('[').TrimEnd(']').Replace(".", "].[")}]" : name;
internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}"; internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}";
internal override string IsNull(string sql, object value) => $"isnull({sql}, {value})"; internal override string IsNull(string sql, object value) => $"isnull({sql}, {value})";
internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{(leftType.FullName == "System.String" ? left : $"cast({left} as nvarchar)")} + {(rightType.FullName == "System.String" ? right : $"cast({right} as nvarchar)")}"; internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{(leftType.FullName == "System.String" ? left : $"cast({left} as nvarchar)")} + {(rightType.FullName == "System.String" ? right : $"cast({right} as nvarchar)")}";

View File

@ -23,6 +23,7 @@ namespace FreeSql.Sqlite {
} }
public bool IsAutoSyncStructure { get; set; } = true; public bool IsAutoSyncStructure { get; set; } = true;
public bool IsQuoteSqlName { get; set; } = true;
public bool IsSyncStructureToLower { get; set; } = false; public bool IsSyncStructureToLower { get; set; } = false;
public bool IsLazyLoading { get; set; } = false; public bool IsLazyLoading { get; set; } = false;

View File

@ -53,7 +53,7 @@ namespace FreeSql.Sqlite {
}); });
internal override string FormatSql(string sql, params object[] args) => sql?.FormatSqlite(args); internal override string FormatSql(string sql, params object[] args) => sql?.FormatSqlite(args);
internal override string QuoteSqlName(string name) => $"\"{name.Trim('"').Replace(".", "\".\"")}\""; internal override string QuoteSqlName(string name) => _orm.CodeFirst.IsQuoteSqlName ? $"\"{name.Trim('"').Replace(".", "\".\"")}\"" : name;
internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}"; internal override string QuoteParamterName(string name) => $"@{(_orm.CodeFirst.IsSyncStructureToLower ? name.ToLower() : name)}";
internal override string IsNull(string sql, object value) => $"ifnull({sql}, {value})"; internal override string IsNull(string sql, object value) => $"ifnull({sql}, {value})";
internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}"; internal override string StringConcat(string left, string right, Type leftType, Type rightType) => $"{left} || {right}";