mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-18 17:48:11 +08:00
Code optimization
This commit is contained in:
@@ -186,6 +186,8 @@ namespace OrmTest.Demo
|
||||
var getDay1List = db.Queryable<Student>().Where(it=>it.CreateTime.Value.Hour==1).ToList();
|
||||
var getDateAdd = db.Queryable<Student>().Where(it => it.CreateTime.Value.AddDays(1)==DateTime.Now).ToList();
|
||||
var getDateIsSame= db.Queryable<Student>().Where(it => SqlFunc.DateIsSame(DateTime.Now,DateTime.Now,DateType.Hour)).ToList();
|
||||
|
||||
var getSqlList = db.Queryable<Student>().AS("(select * from student) t").ToList();
|
||||
}
|
||||
public static void Page()
|
||||
{
|
||||
|
@@ -28,10 +28,49 @@ namespace SqlSugar
|
||||
#endregion
|
||||
|
||||
#region abstract Methods
|
||||
public abstract string GetTranslationTableName(string name);
|
||||
public abstract string GetTranslationColumnName(string entityName, string propertyName);
|
||||
public abstract string GetTranslationColumnName(string propertyName);
|
||||
public abstract string GetNoTranslationColumnName(string name);
|
||||
public virtual string GetTranslationTableName(string name)
|
||||
{
|
||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
if (name.IsContainsIn("(", ")", SqlTranslationLeft))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
if (name.IsContainsIn("(", ")", SqlTranslationLeft))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
return SqlTranslationLeft + name + SqlTranslationRight;
|
||||
}
|
||||
public virtual string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingColumns
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? SqlTranslationLeft + propertyName + SqlTranslationRight : SqlTranslationLeft + mappingInfo.DbColumnName + SqlTranslationRight);
|
||||
}
|
||||
|
||||
public virtual string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains(SqlTranslationLeft)) return propertyName;
|
||||
else
|
||||
return SqlTranslationLeft + propertyName + SqlTranslationRight;
|
||||
}
|
||||
|
||||
public virtual string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains(SqlTranslationLeft)) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*"+"\\"+SqlTranslationLeft+"(.*?)"+"\\"+SqlTranslationRight+"").Groups[1].Value;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Common SqlTemplate
|
||||
@@ -44,6 +83,8 @@ namespace SqlSugar
|
||||
return " HAVING " + sqlString;
|
||||
}
|
||||
public virtual string SqlParameterKeyWord { get { return "@"; } }
|
||||
public abstract string SqlTranslationLeft { get; }
|
||||
public abstract string SqlTranslationRight { get; }
|
||||
public virtual string SqlFalse { get { return "1=2 "; } }
|
||||
public virtual string SqlDateNow { get { return "GETDATE()"; } }
|
||||
#endregion
|
||||
|
@@ -6,44 +6,7 @@ namespace SqlSugar
|
||||
{
|
||||
public class MySqlBuilder : SqlBuilderProvider
|
||||
{
|
||||
public override string GetTranslationTableName(string name)
|
||||
{
|
||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
if (name.IsContainsIn("`", "(", ")"))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
return "`" + name + "`";
|
||||
}
|
||||
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingColumns
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? "`" + propertyName + "`" : "`" + mappingInfo.DbColumnName + "`");
|
||||
}
|
||||
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains("`")) return propertyName;
|
||||
else
|
||||
return "`" + propertyName + "`";
|
||||
}
|
||||
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("`")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\`(.*?)\`").Groups[1].Value;
|
||||
}
|
||||
public override string SqlTranslationLeft { get { return "`"; } }
|
||||
public override string SqlTranslationRight { get { return "`"; } }
|
||||
}
|
||||
}
|
||||
|
@@ -9,43 +9,7 @@ namespace SqlSugar
|
||||
{
|
||||
public class OracleBuilder : SqlBuilderProvider
|
||||
{
|
||||
public override string GetTranslationTableName(string name)
|
||||
{
|
||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
if (name.Contains("\""))
|
||||
return name;
|
||||
else
|
||||
return "\"" + name + "\"";
|
||||
}
|
||||
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingColumns
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? "\"" + propertyName + "\"" : "\"" + mappingInfo.DbColumnName + "\"");
|
||||
}
|
||||
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains("\"")) return propertyName;
|
||||
else
|
||||
return "\"" + propertyName + "\"";
|
||||
}
|
||||
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("\"")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*""(.*?)""").Groups[1].Value;
|
||||
}
|
||||
public override string SqlTranslationLeft { get { return "\""; } }
|
||||
public override string SqlTranslationRight { get { return "\""; } }
|
||||
}
|
||||
}
|
||||
|
@@ -9,44 +9,7 @@ namespace SqlSugar
|
||||
{
|
||||
public class SqlServerBuilder : SqlBuilderProvider
|
||||
{
|
||||
public override string GetTranslationTableName(string name)
|
||||
{
|
||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
if (name.IsContainsIn("(", ")", "["))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
|
||||
return "[" + name + "]";
|
||||
}
|
||||
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingColumns
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? "[" + propertyName + "]" : "[" + mappingInfo.DbColumnName + "]");
|
||||
}
|
||||
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains("[")) return propertyName;
|
||||
else
|
||||
return "[" + propertyName + "]";
|
||||
}
|
||||
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("[")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\[(.*?)\]").Groups[1].Value;
|
||||
}
|
||||
public override string SqlTranslationLeft { get { return "["; } }
|
||||
public override string SqlTranslationRight { get { return "]"; } }
|
||||
}
|
||||
}
|
||||
|
@@ -6,44 +6,7 @@ namespace SqlSugar
|
||||
{
|
||||
public class SqliteBuilder : SqlBuilderProvider
|
||||
{
|
||||
|
||||
public override string GetTranslationTableName(string name)
|
||||
{
|
||||
Check.ArgumentNullException(name, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
if (name.IsContainsIn("`", "(", ")"))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingTables
|
||||
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
|
||||
return "`" + (mappingInfo == null ? name : mappingInfo.DbTableName) + "`";
|
||||
}
|
||||
public override string GetTranslationColumnName(string entityName, string propertyName)
|
||||
{
|
||||
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
|
||||
Check.ArgumentNullException(propertyName, string.Format(ErrorMessage.ObjNotExist, "Column Name"));
|
||||
var context = this.Context;
|
||||
var mappingInfo = context
|
||||
.MappingColumns
|
||||
.FirstOrDefault(it =>
|
||||
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
|
||||
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
return (mappingInfo == null ? "`" + propertyName + "`" : "`" + mappingInfo.DbColumnName + "`");
|
||||
}
|
||||
|
||||
public override string GetTranslationColumnName(string propertyName)
|
||||
{
|
||||
if (propertyName.Contains("`")) return propertyName;
|
||||
else
|
||||
return "`" + propertyName + "`";
|
||||
}
|
||||
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("`")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\`(.*?)\`").Groups[1].Value;
|
||||
}
|
||||
public override string SqlTranslationLeft { get { return "`"; } }
|
||||
public override string SqlTranslationRight { get { return "`"; } }
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user