mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 10:08:19 +08:00
Update Core
This commit is contained in:
Binary file not shown.
@@ -103,7 +103,7 @@ new List<SugarParameter>() {
|
||||
);
|
||||
|
||||
|
||||
db.IgnoreColumns = new IgnoreComumnList();
|
||||
db.IgnoreColumns = new IgnoreColumnList();
|
||||
db.IgnoreColumns.Add("TestId", "Student");
|
||||
|
||||
//Insert List<T>
|
||||
|
@@ -103,7 +103,7 @@ new List<SugarParameter>() {
|
||||
);
|
||||
|
||||
|
||||
db.IgnoreColumns = new IgnoreComumnList();
|
||||
db.IgnoreColumns = new IgnoreColumnList();
|
||||
db.IgnoreColumns.Add("TestId", "Student");
|
||||
|
||||
//Insert List<T>
|
||||
|
@@ -206,7 +206,7 @@ namespace SqlSugar
|
||||
}
|
||||
protected virtual string GetTableName(EntityInfo entityInfo)
|
||||
{
|
||||
return this.Context.EntityProvider.GetTableName(entityInfo.DbTableName);
|
||||
return this.Context.EntityProvider.GetTableName(entityInfo.EntityName);
|
||||
}
|
||||
protected virtual DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
|
||||
{
|
||||
|
@@ -190,7 +190,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (this.Context.IsSystemTablesConfig)
|
||||
{
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.EntityInfo.DbTableName);
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -201,7 +201,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (this.Context.IsSystemTablesConfig)
|
||||
{
|
||||
return this.Context.DbMaintenance.GetIsIdentities(this.EntityInfo.DbTableName);
|
||||
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -67,7 +67,7 @@ namespace SqlSugar
|
||||
}
|
||||
public IInsertable<T> IgnoreColumns(Expression<Func<T, object>> columns)
|
||||
{
|
||||
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray();
|
||||
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
|
||||
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.PropertyName)).ToList();
|
||||
return this;
|
||||
}
|
||||
@@ -79,7 +79,7 @@ namespace SqlSugar
|
||||
|
||||
public IInsertable<T> InsertColumns(Expression<Func<T, object>> columns)
|
||||
{
|
||||
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray();
|
||||
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it=>this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
|
||||
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => ignoreColumns.Contains(it.PropertyName)).ToList();
|
||||
return this;
|
||||
}
|
||||
|
@@ -564,7 +564,7 @@ namespace SqlSugar
|
||||
if (expression is NewExpression)
|
||||
{
|
||||
lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple);
|
||||
result = string.Join(",", lamResult.GetResultArray().Select(it => this.SqlBuilder.GetTranslationColumnName(typeof(T).Name, it)));
|
||||
result = string.Join(",", lamResult.GetResultArray().Select(it => it));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -608,7 +608,7 @@ namespace SqlSugar
|
||||
if (expression is NewExpression)
|
||||
{
|
||||
lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple);
|
||||
result = string.Join(",", lamResult.GetResultArray().Select(it => this.SqlBuilder.GetTranslationColumnName(typeof(T).Name, it)));
|
||||
result = string.Join(",", lamResult.GetResultArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -651,7 +651,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (this.Context.IsSystemTablesConfig)
|
||||
{
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.EntityInfo.DbTableName);
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -3,6 +3,8 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class InsertBuilder : IDMLBuilder
|
||||
@@ -165,6 +167,10 @@ namespace SqlSugar
|
||||
}
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
else if (type.IsEnum())
|
||||
{
|
||||
return Convert.ToInt64(value);
|
||||
}
|
||||
else if (type == PubConst.BoolType)
|
||||
{
|
||||
return value.ObjToBool() ? "1" : "0";
|
||||
|
@@ -256,13 +256,18 @@ namespace SqlSugar
|
||||
if (externalOrderBy.IsNullOrEmpty()) {
|
||||
externalOrderBy = " ORDER BY GetDate() ";
|
||||
}
|
||||
result = string.Format("SELECT *,ROW_NUMBER() OVER({0}) AS RowIndex2 FROM ({1}) ExternalTable ", externalOrderBy,result);
|
||||
result = string.Format("SELECT *,ROW_NUMBER() OVER({0}) AS RowIndex2 FROM ({1}) ExternalTable ", GetExternalOrderBy(externalOrderBy),result);
|
||||
result = ToPageSql2(result,ExternalPageIndex, ExternalPageSize, true);
|
||||
}
|
||||
this.OrderByValue = oldOrderBy;
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual string GetExternalOrderBy(string externalOrderBy)
|
||||
{
|
||||
return Regex.Replace(externalOrderBy, @"\[\w+\]\.", "");
|
||||
}
|
||||
|
||||
public virtual string ToCountSql(string sql)
|
||||
{
|
||||
|
||||
|
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace SqlSugar
|
||||
@@ -153,19 +154,19 @@ namespace SqlSugar
|
||||
while (pageCount >= pageIndex)
|
||||
{
|
||||
StringBuilder updateTable = new StringBuilder();
|
||||
string setValues = string.Join(",", groupList.First().Where(it=>it.IsPrimarykey==false&&(it.IsIdentity==false||(IsOffIdentity&&it.IsIdentity))).Select(it =>
|
||||
{
|
||||
if (SetValues.IsValuable())
|
||||
{
|
||||
var setValue = SetValues.Where(sv => sv.Key == Builder.GetTranslationColumnName(it.DbColumnName));
|
||||
if (setValue != null && setValue.Any())
|
||||
{
|
||||
return setValue.First().Value;
|
||||
}
|
||||
}
|
||||
var result = string.Format("S.{0}=T.{0}", Builder.GetTranslationColumnName(it.DbColumnName));
|
||||
return result;
|
||||
}));
|
||||
string setValues = string.Join(",", groupList.First().Where(it => it.IsPrimarykey == false && (it.IsIdentity == false || (IsOffIdentity && it.IsIdentity))).Select(it =>
|
||||
{
|
||||
if (SetValues.IsValuable())
|
||||
{
|
||||
var setValue = SetValues.Where(sv => sv.Key == Builder.GetTranslationColumnName(it.DbColumnName));
|
||||
if (setValue != null && setValue.Any())
|
||||
{
|
||||
return setValue.First().Value;
|
||||
}
|
||||
}
|
||||
var result = string.Format("S.{0}=T.{0}", Builder.GetTranslationColumnName(it.DbColumnName));
|
||||
return result;
|
||||
}));
|
||||
batchUpdateSql.AppendFormat(SqlTemplateBatch.ToString(), setValues, GetTableNameStringNoWith, TableWithString);
|
||||
int i = 0;
|
||||
foreach (var columns in groupList.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList())
|
||||
@@ -253,11 +254,16 @@ namespace SqlSugar
|
||||
if (type == PubConst.DateType)
|
||||
{
|
||||
var date = value.ObjToDate();
|
||||
if (date < Convert.ToDateTime("1900-1-1")) {
|
||||
if (date < Convert.ToDateTime("1900-1-1"))
|
||||
{
|
||||
date = Convert.ToDateTime("1900-1-1");
|
||||
}
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
else if (type.IsEnum())
|
||||
{
|
||||
return Convert.ToInt64(value);
|
||||
}
|
||||
else if (type == PubConst.BoolType)
|
||||
{
|
||||
return value.ObjToBool() ? "1" : "0";
|
||||
|
@@ -48,7 +48,7 @@ namespace SqlSugar
|
||||
|
||||
public IUpdateable<T> IgnoreColumns(Expression<Func<T, object>> columns)
|
||||
{
|
||||
var ignoreColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray();
|
||||
var ignoreColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
|
||||
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.PropertyName)).ToList();
|
||||
return this;
|
||||
}
|
||||
@@ -77,7 +77,7 @@ namespace SqlSugar
|
||||
|
||||
public IUpdateable<T> UpdateColumns(Expression<Func<T, object>> columns)
|
||||
{
|
||||
var updateColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray();
|
||||
var updateColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList();
|
||||
List<string> primaryKeys = GetPrimaryKeys();
|
||||
foreach (var item in this.UpdateBuilder.DbColumnInfoList)
|
||||
{
|
||||
@@ -108,6 +108,7 @@ namespace SqlSugar
|
||||
{
|
||||
var expResult = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.Update);
|
||||
var resultArray=expResult.GetResultArray();
|
||||
Check.ArgumentNullException(resultArray, "UpdateColumns Parameter error, UpdateColumns(it=>new T{ it.id=1}) is valid, UpdateColumns(it=>T) is error");
|
||||
if (resultArray.IsValuable()) {
|
||||
foreach (var item in resultArray)
|
||||
{
|
||||
@@ -252,7 +253,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (this.Context.IsSystemTablesConfig)
|
||||
{
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.EntityInfo.DbTableName);
|
||||
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -263,7 +264,7 @@ namespace SqlSugar
|
||||
{
|
||||
if (this.Context.IsSystemTablesConfig)
|
||||
{
|
||||
return this.Context.DbMaintenance.GetIsIdentities(this.EntityInfo.DbTableName);
|
||||
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -7,6 +7,8 @@ namespace SqlSugar
|
||||
{
|
||||
public partial class DbType
|
||||
{
|
||||
public const string MySql = "MySql";
|
||||
public const string SqlServer = "SqlServer";
|
||||
public const string Sqlite = "Sqlite";
|
||||
}
|
||||
}
|
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class IgnoreComumn
|
||||
public class IgnoreColumn
|
||||
{
|
||||
public string EntityName { get; set; }
|
||||
public string PropertyName { get; set; }
|
||||
|
@@ -23,12 +23,12 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
public class IgnoreComumnList : List<IgnoreComumn>
|
||||
public class IgnoreColumnList : List<IgnoreColumn>
|
||||
{
|
||||
public void Add(string propertyName, string EntityName)
|
||||
{
|
||||
this.RemoveAll(it =>it.EntityName==EntityName&&it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
|
||||
this.Add(new IgnoreComumn() { PropertyName = propertyName, EntityName = EntityName });
|
||||
this.Add(new IgnoreColumn() { PropertyName = propertyName, EntityName = EntityName });
|
||||
}
|
||||
|
||||
public new void Clear()
|
||||
|
@@ -101,6 +101,7 @@ namespace SqlSugar
|
||||
switch (this._ResolveExpressType)
|
||||
{
|
||||
case ResolveExpressType.ArraySingle:
|
||||
case ResolveExpressType.ArrayMultiple:
|
||||
case ResolveExpressType.SelectSingle:
|
||||
case ResolveExpressType.SelectMultiple:
|
||||
case ResolveExpressType.Update:
|
||||
|
@@ -39,7 +39,7 @@ namespace SqlSugar
|
||||
public int ParameterIndex { get; set; }
|
||||
public MappingColumnList MappingColumns { get; set; }
|
||||
public MappingTableList MappingTables { get; set; }
|
||||
public IgnoreComumnList IgnoreComumnList { get; set; }
|
||||
public IgnoreColumnList IgnoreComumnList { get; set; }
|
||||
public bool IsSingle
|
||||
{
|
||||
get
|
||||
|
@@ -174,6 +174,9 @@ namespace SqlSugar
|
||||
{
|
||||
var appendValue = this.Context.SqlParameterKeyWord + ExpressionConst.Const + Context.ParameterIndex;
|
||||
Context.ParameterIndex++;
|
||||
if (value != null && value.GetType().IsEnum()) {
|
||||
value = Convert.ToInt64(value);
|
||||
}
|
||||
this.Context.Parameters.Add(new SugarParameter(appendValue, value));
|
||||
appendValue = string.Format(" {0} ", appendValue);
|
||||
if (isLeft == true)
|
||||
|
@@ -21,6 +21,10 @@ namespace SqlSugar
|
||||
case ResolveExpressType.Update:
|
||||
case ResolveExpressType.SelectSingle:
|
||||
case ResolveExpressType.SelectMultiple:
|
||||
if (value != null && value.GetType().IsEnum())
|
||||
{
|
||||
value = Convert.ToInt64(value);
|
||||
}
|
||||
parameter.BaseParameter.CommonTempData = value;
|
||||
break;
|
||||
case ResolveExpressType.WhereSingle:
|
||||
|
@@ -103,8 +103,9 @@ namespace SqlSugar
|
||||
fieldName = GetMultipleName(parameter, expression, isLeft);
|
||||
base.Context.Result.Append(fieldName);
|
||||
break;
|
||||
case ResolveExpressType.ArrayMultiple:
|
||||
case ResolveExpressType.ArraySingle:
|
||||
fieldName = GetArrayName(parameter, expression, isLeft);
|
||||
fieldName = GetName(parameter, expression, isLeft,parameter.Context.ResolveType== ResolveExpressType.ArraySingle);
|
||||
base.Context.Result.Append(fieldName);
|
||||
break;
|
||||
default:
|
||||
@@ -166,10 +167,5 @@ namespace SqlSugar
|
||||
fieldName = Context.GetTranslationColumnName(fieldName);
|
||||
return fieldName;
|
||||
}
|
||||
private string GetArrayName(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
||||
{
|
||||
string fieldName = expression.Member.Name;
|
||||
return fieldName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -14,7 +14,20 @@ namespace SqlSugar
|
||||
var express = base.Expression as MethodCallExpression;
|
||||
var isLeft = parameter.IsLeft;
|
||||
string methodName = express.Method.Name;
|
||||
if (methodName == "get_Item")
|
||||
var isValidNativeMethod = MethodMapping.ContainsKey(methodName) && express.Method.DeclaringType.Namespace == ("System");
|
||||
List<MethodCallExpressionArgs> appendArgs = null;
|
||||
if (MethodTimeMapping.ContainsKey(methodName))
|
||||
{
|
||||
appendArgs = new List<MethodCallExpressionArgs>();
|
||||
var dateType = MethodTimeMapping[methodName];
|
||||
string paramterName = this.Context.SqlParameterKeyWord + ExpressionConst.Const + this.Context.ParameterIndex;
|
||||
appendArgs.Add(new MethodCallExpressionArgs() { IsMember=false, MemberName= paramterName, MemberValue=dateType });
|
||||
this.Context.Parameters.Add(new SugarParameter(paramterName, dateType.ToString()));
|
||||
this.Context.ParameterIndex++;
|
||||
methodName = "DateAdd";
|
||||
isValidNativeMethod = true;
|
||||
}
|
||||
else if (methodName == "get_Item")
|
||||
{
|
||||
string paramterName = this.Context.SqlParameterKeyWord + ExpressionConst.Const + this.Context.ParameterIndex;
|
||||
this.Context.Parameters.Add(new SugarParameter(paramterName, ExpressionTool.DynamicInvoke(express)));
|
||||
@@ -22,18 +35,19 @@ namespace SqlSugar
|
||||
this.Context.ParameterIndex++;
|
||||
return;
|
||||
}
|
||||
else if (methodName == "NewGuid") {
|
||||
else if (methodName == "NewGuid")
|
||||
{
|
||||
this.Context.Result.Append(this.Context.DbMehtods.GuidNew());
|
||||
return;
|
||||
}
|
||||
var isValidNativeMethod = MethodMapping.ContainsKey(methodName)&&express.Method.DeclaringType.Namespace==("System");
|
||||
if (!isValidNativeMethod&&express.Method.DeclaringType.Namespace.IsIn("System.Linq", "System.Collections.Generic")&&methodName=="Contains") {
|
||||
if (!isValidNativeMethod && express.Method.DeclaringType.Namespace.IsIn("System.Linq", "System.Collections.Generic") && methodName == "Contains")
|
||||
{
|
||||
methodName = "ContainsArray";
|
||||
isValidNativeMethod = true;
|
||||
}
|
||||
if (isValidNativeMethod)
|
||||
{
|
||||
NativeExtensionMethod(parameter, express, isLeft, MethodMapping[methodName]);
|
||||
NativeExtensionMethod(parameter, express, isLeft, MethodMapping[methodName],appendArgs);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -67,7 +81,7 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
private void NativeExtensionMethod(ExpressionParameter parameter, MethodCallExpression express, bool? isLeft,string name)
|
||||
private void NativeExtensionMethod(ExpressionParameter parameter, MethodCallExpression express, bool? isLeft, string name, List<MethodCallExpressionArgs> appendArgs = null)
|
||||
{
|
||||
var method = express.Method;
|
||||
var args = express.Arguments.Cast<Expression>().ToList();
|
||||
@@ -79,14 +93,14 @@ namespace SqlSugar
|
||||
case ResolveExpressType.WhereMultiple:
|
||||
if (express.Object != null)
|
||||
args.Insert(0, express.Object);
|
||||
Where(parameter, isLeft, name, args, model);
|
||||
Where(parameter, isLeft, name, args, model, appendArgs);
|
||||
break;
|
||||
case ResolveExpressType.SelectSingle:
|
||||
case ResolveExpressType.SelectMultiple:
|
||||
case ResolveExpressType.Update:
|
||||
if (express.Object != null)
|
||||
args.Insert(0, express.Object);
|
||||
Select(parameter, isLeft, name, args, model);
|
||||
Select(parameter, isLeft, name, args, model, appendArgs);
|
||||
break;
|
||||
case ResolveExpressType.FieldSingle:
|
||||
case ResolveExpressType.FieldMultiple:
|
||||
@@ -95,7 +109,7 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
private void Select(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model)
|
||||
private void Select(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model, List<MethodCallExpressionArgs> appendArgs = null)
|
||||
{
|
||||
foreach (var item in args)
|
||||
{
|
||||
@@ -109,9 +123,13 @@ namespace SqlSugar
|
||||
Default(parameter, model, item);
|
||||
}
|
||||
}
|
||||
if (appendArgs != null)
|
||||
{
|
||||
model.Args.AddRange(appendArgs);
|
||||
}
|
||||
parameter.BaseParameter.CommonTempData = GetMdthodValue(name, model);
|
||||
}
|
||||
private void Where(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model)
|
||||
private void Where(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model, List<MethodCallExpressionArgs> appendArgs = null)
|
||||
{
|
||||
foreach (var item in args)
|
||||
{
|
||||
@@ -125,6 +143,10 @@ namespace SqlSugar
|
||||
Default(parameter, model, item);
|
||||
}
|
||||
}
|
||||
if (appendArgs != null)
|
||||
{
|
||||
model.Args.AddRange(appendArgs);
|
||||
}
|
||||
var methodValue = GetMdthodValue(name, model);
|
||||
base.AppendValue(parameter, isLeft, methodValue);
|
||||
}
|
||||
@@ -243,7 +265,7 @@ namespace SqlSugar
|
||||
return this.Context.DbMehtods.AggregateCount(model);
|
||||
case "MappingColumn":
|
||||
var mappingColumnResult = this.Context.DbMehtods.MappingColumn(model);
|
||||
var isValid= model.Args[0].IsMember&&model.Args[1].IsMember==false;
|
||||
var isValid = model.Args[0].IsMember && model.Args[1].IsMember == false;
|
||||
Check.Exception(!isValid, "SqlFunc.MappingColumn parameters error, The property name on the left, string value on the right");
|
||||
this.Context.Parameters.RemoveAll(it => it.ParameterName == model.Args[1].MemberName.ObjToString());
|
||||
return mappingColumnResult;
|
||||
@@ -273,12 +295,23 @@ namespace SqlSugar
|
||||
{ "Equals","Equals"},
|
||||
{ "ToLower","ToLower"},
|
||||
{ "ToUpper","ToUpper"},
|
||||
{ "Substring","Substring"}
|
||||
{ "Substring","Substring"},
|
||||
{ "DateAdd","DateAdd"}
|
||||
};
|
||||
|
||||
private static Dictionary<string, DateType> MethodTimeMapping = new Dictionary<string, DateType>() {
|
||||
{ "AddYears",DateType.Year},
|
||||
{ "AddMonths",DateType.Month},
|
||||
{ "AddDays",DateType.Day},
|
||||
{ "AddHours",DateType.Hour},
|
||||
{ "AddMinutes",DateType.Minute},
|
||||
{ "AddSeconds",DateType.Second},
|
||||
{ "AddMilliseconds",DateType.Millisecond}
|
||||
};
|
||||
|
||||
private void CheckMethod(MethodCallExpression expression)
|
||||
{
|
||||
Check.Exception(expression.Method.ReflectedType().FullName != ExpressionConst.SqlFuncFullName,string.Format(ExpressionErrorMessage.MethodError, expression.Method.Name));
|
||||
Check.Exception(expression.Method.ReflectedType().FullName != ExpressionConst.SqlFuncFullName, string.Format(ExpressionErrorMessage.MethodError, expression.Method.Name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ namespace SqlSugar
|
||||
case ResolveExpressType.FieldSingle:
|
||||
break;
|
||||
case ResolveExpressType.FieldMultiple:
|
||||
break;
|
||||
case ResolveExpressType.ArrayMultiple:
|
||||
case ResolveExpressType.ArraySingle:
|
||||
foreach (var item in expression.Arguments)
|
||||
{
|
||||
|
@@ -10,7 +10,7 @@ namespace SqlSugar
|
||||
{
|
||||
MappingColumnList MappingColumns { get; set; }
|
||||
MappingTableList MappingTables { get; set; }
|
||||
IgnoreComumnList IgnoreComumnList { get; set; }
|
||||
IgnoreColumnList IgnoreComumnList { get; set; }
|
||||
List<JoinQueryInfo> JoinQueryInfos { get; set; }
|
||||
bool IsSingle { get; set; }
|
||||
SqlSugarClient Context { get; set; }
|
||||
|
@@ -17,5 +17,5 @@ using System.Runtime.InteropServices;
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1c022a5c-4e4d-4026-a8a3-f659b9740a1a")]
|
||||
[assembly: AssemblyVersion("4.2.0.6")]
|
||||
[assembly: AssemblyFileVersion("4.2.0.6")]
|
||||
[assembly: AssemblyVersion("4.2.0.7")]
|
||||
[assembly: AssemblyFileVersion("4.2.0.7")]
|
||||
|
@@ -1,12 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public partial class DbType
|
||||
{
|
||||
public const string MySql = "MySql";
|
||||
}
|
||||
}
|
@@ -42,7 +42,7 @@ namespace SqlSugar
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("`")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @"\`(.*?)\`").Groups[1].Value;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\`(.*?)\`").Groups[1].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -60,7 +60,7 @@ namespace SqlSugar
|
||||
{
|
||||
return @"SELECT s.Name,Convert(varchar(max),tbp.value) as Description
|
||||
FROM sysobjects s
|
||||
LEFT JOIN sys.extended_properties as tbp ON s.id=tbp.major_id and tbp.minor_id=0 WHERE s.xtype IN('U')";
|
||||
LEFT JOIN sys.extended_properties as tbp ON s.id=tbp.major_id and tbp.minor_id=0 WHERE s.xtype IN('U') AND (tbp.Name='MS_Description' OR tbp.Name is null)";
|
||||
}
|
||||
}
|
||||
protected override string GetViewInfoListSql
|
||||
@@ -69,7 +69,7 @@ namespace SqlSugar
|
||||
{
|
||||
return @"SELECT s.Name,Convert(varchar(max),tbp.value) as Description
|
||||
FROM sysobjects s
|
||||
LEFT JOIN sys.extended_properties as tbp ON s.id=tbp.major_id and tbp.minor_id=0 WHERE s.xtype IN('V')";
|
||||
LEFT JOIN sys.extended_properties as tbp ON s.id=tbp.major_id and tbp.minor_id=0 WHERE s.xtype IN('V') AND (tbp.Name='MS_Description' OR tbp.Name is null)";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@@ -1,7 +0,0 @@
|
||||
namespace SqlSugar
|
||||
{
|
||||
public partial class DbType
|
||||
{
|
||||
public const string SqlServer = "SqlServer";
|
||||
}
|
||||
}
|
@@ -45,7 +45,7 @@ namespace SqlSugar
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("[")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @"\[(.*?)\]").Groups[1].Value;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\[(.*?)\]").Groups[1].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ namespace SqlSugar
|
||||
public override string GetNoTranslationColumnName(string name)
|
||||
{
|
||||
if (!name.Contains("`")) return name;
|
||||
return name == null ? string.Empty : Regex.Match(name, @"\`(.*?)\`").Groups[1].Value;
|
||||
return name == null ? string.Empty : Regex.Match(name, @".*\`(.*?)\`").Groups[1].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
@@ -52,6 +53,10 @@ namespace SqlSugar
|
||||
}
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
else if (type.IsEnum())
|
||||
{
|
||||
return Convert.ToInt64(value);
|
||||
}
|
||||
else if (type == PubConst.BoolType)
|
||||
{
|
||||
return value.ObjToBool() ? "1" : "0";
|
||||
|
@@ -29,6 +29,10 @@ namespace SqlSugar
|
||||
}
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
else if (type.IsEnum())
|
||||
{
|
||||
return Convert.ToInt64(value);
|
||||
}
|
||||
else if (type == PubConst.BoolType)
|
||||
{
|
||||
return value.ObjToBool() ? "1" : "0";
|
||||
|
@@ -16,7 +16,7 @@ namespace SqlSugar
|
||||
public Guid ContextID { get; set; }
|
||||
public MappingTableList MappingTables = new MappingTableList();
|
||||
public MappingColumnList MappingColumns = new MappingColumnList();
|
||||
public IgnoreComumnList IgnoreColumns = new IgnoreComumnList();
|
||||
public IgnoreColumnList IgnoreColumns = new IgnoreColumnList();
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
@@ -89,7 +89,7 @@ namespace SqlSugar
|
||||
if (this.MappingColumns == null)
|
||||
this.MappingColumns = new MappingColumnList();
|
||||
if (this.IgnoreColumns == null)
|
||||
this.IgnoreColumns = new IgnoreComumnList();
|
||||
this.IgnoreColumns = new IgnoreColumnList();
|
||||
if (!this.MappingTables.Any(it => it.EntityName == entityInfo.EntityName))
|
||||
{
|
||||
if (entityInfo.DbTableName != entityInfo.EntityName && entityInfo.DbTableName.IsValuable())
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<package >
|
||||
<metadata>
|
||||
<id>sqlSugarCore</id>
|
||||
<version>4.2.0.6</version>
|
||||
<version>4.2.0.7</version>
|
||||
<authors>sunkaixuan</authors>
|
||||
<owners>Landa</owners>
|
||||
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
||||
|
@@ -8,6 +8,6 @@ namespace OrmTest
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
public static string ConnectionString = @"DataSource=D:\MyGit\SqlSugar\Src\Asp.NetCore\SqlServerTest\src\SqliteTest\DataBase\SqlSugar4xTest.sqlite";
|
||||
public static string ConnectionString = @"DataSource=F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\Src\Asp.NetCore\SqlServerTest\src\SqliteTest\DataBase\SqlSugar4xTest.sqlite";
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@@ -103,7 +103,7 @@ new List<SugarParameter>() {
|
||||
);
|
||||
|
||||
|
||||
db.IgnoreColumns = new IgnoreComumnList();
|
||||
db.IgnoreColumns = new IgnoreColumnList();
|
||||
db.IgnoreColumns.Add("TestId", "Student");
|
||||
|
||||
//Insert List<T>
|
||||
|
Reference in New Issue
Block a user