mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-07-15 23:13:42 +08:00
-
This commit is contained in:
parent
8ef15c0697
commit
f3128e88e0
@ -22,7 +22,7 @@ namespace OrmTest.PerformanceTesting
|
|||||||
DbType = DbType.SqlServer,
|
DbType = DbType.SqlServer,
|
||||||
IsAutoCloseConnection = false
|
IsAutoCloseConnection = false
|
||||||
});
|
});
|
||||||
db.IgnoreComumns.Add("TestId", "Student");
|
db.IgnoreColumns.Add("TestId", "Student");
|
||||||
db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
|
db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
|
||||||
base.Execute("sqlsuagr", () =>
|
base.Execute("sqlsuagr", () =>
|
||||||
{
|
{
|
||||||
|
@ -20,7 +20,9 @@ namespace OrmTest.UnitTest
|
|||||||
var db = GetInstance();
|
var db = GetInstance();
|
||||||
var insertObj = new Student() { Name="jack",CreateTime=DateTime.Now };
|
var insertObj = new Student() { Name="jack",CreateTime=DateTime.Now };
|
||||||
var insertObjs = new List<Student>() { insertObj }.ToArray();
|
var insertObjs = new List<Student>() { insertObj }.ToArray();
|
||||||
|
db.IgnoreColumns.Add("TestId", "Student");
|
||||||
|
db.MappingColumns.Add("id","dbid", "Student");
|
||||||
|
db.MappingTables.Add("student","dbstudent");
|
||||||
var s1= db.Insertable<Student>(insertObj).ToSql();
|
var s1= db.Insertable<Student>(insertObj).ToSql();
|
||||||
|
|
||||||
//Insert reutrn Command Count
|
//Insert reutrn Command Count
|
||||||
|
@ -37,7 +37,7 @@ namespace OrmTest.UnitTest
|
|||||||
|
|
||||||
|
|
||||||
#region dr ot entity
|
#region dr ot entity
|
||||||
db.IgnoreComumns.Add("TestId", "Student");
|
db.IgnoreColumns.Add("TestId", "Student");
|
||||||
var s1 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
|
var s1 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
|
||||||
var s2 = db.Queryable<Student>().Select(it => new { id = it.Id, w = new { x = it } }).ToList();
|
var s2 = db.Queryable<Student>().Select(it => new { id = it.Id, w = new { x = it } }).ToList();
|
||||||
var s3 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
|
var s3 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
|
||||||
|
@ -94,7 +94,7 @@ namespace SqlSugar
|
|||||||
fileName = mappInfo.DbColumnName;
|
fileName = mappInfo.DbColumnName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Context.IgnoreComumns != null && Context.IgnoreComumns.Any(it => it.EntityPropertyName.Equals(propertyInfo.Name, StringComparison.CurrentCultureIgnoreCase)
|
if (Context.IgnoreColumns != null && Context.IgnoreColumns.Any(it => it.EntityPropertyName.Equals(propertyInfo.Name, StringComparison.CurrentCultureIgnoreCase)
|
||||||
&& it.EntityName.Equals(type.Name, StringComparison.CurrentCultureIgnoreCase)))
|
&& it.EntityName.Equals(type.Name, StringComparison.CurrentCultureIgnoreCase)))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@ -27,7 +27,7 @@ namespace SqlSugar
|
|||||||
return @"INSERT INTO {0}
|
return @"INSERT INTO {0}
|
||||||
({1})
|
({1})
|
||||||
VALUES
|
VALUES
|
||||||
({2})";
|
({2}) ;SELECT SCOPE_IDENTITY();";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ namespace SqlSugar
|
|||||||
resolveExpress.JoinQueryInfos = Builder.QueryBuilder.JoinQueryInfos;
|
resolveExpress.JoinQueryInfos = Builder.QueryBuilder.JoinQueryInfos;
|
||||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||||
resolveExpress.MappingTables = Context.MappingTables;
|
resolveExpress.MappingTables = Context.MappingTables;
|
||||||
resolveExpress.IgnoreComumnList = Context.IgnoreComumns;
|
resolveExpress.IgnoreComumnList = Context.IgnoreColumns;
|
||||||
resolveExpress.Resolve(expression, resolveType);
|
resolveExpress.Resolve(expression, resolveType);
|
||||||
this.Parameters = new List<SugarParameter>();
|
this.Parameters = new List<SugarParameter>();
|
||||||
this.Parameters.AddRange(resolveExpress.Parameters);
|
this.Parameters.AddRange(resolveExpress.Parameters);
|
||||||
|
@ -60,6 +60,8 @@ namespace SqlSugar
|
|||||||
|
|
||||||
public IInsertable<T> Where(bool isInsertNull)
|
public IInsertable<T> Where(bool isInsertNull)
|
||||||
{
|
{
|
||||||
|
if (this.InsertBuilder.LambdaExpressions == null)
|
||||||
|
this.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(this.Context.CurrentConnectionConfig);
|
||||||
this.InsertBuilder.IsInsertNull = isInsertNull;
|
this.InsertBuilder.IsInsertNull = isInsertNull;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -67,12 +69,19 @@ namespace SqlSugar
|
|||||||
#region Private Methods
|
#region Private Methods
|
||||||
private void PreToSql()
|
private void PreToSql()
|
||||||
{
|
{
|
||||||
|
if (this.Context.IgnoreColumns != null && this.Context.IgnoreColumns.Any()) {
|
||||||
|
var currentIgnoreColumns = this.Context.IgnoreColumns.Where(it => it.EntityName == this.EntityInfo.Name).ToList();
|
||||||
|
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it =>
|
||||||
|
{
|
||||||
|
return !currentIgnoreColumns.Any(i => it.EntityPropertyName == i.EntityPropertyName);
|
||||||
|
}).ToList();
|
||||||
|
}
|
||||||
if (this.IsSingle)
|
if (this.IsSingle)
|
||||||
{
|
{
|
||||||
foreach (var item in this.InsertBuilder.DbColumnInfoList)
|
foreach (var item in this.InsertBuilder.DbColumnInfoList)
|
||||||
{
|
{
|
||||||
if (this.InsertBuilder.Parameters == null) this.InsertBuilder.Parameters = new List<SugarParameter>();
|
if (this.InsertBuilder.Parameters == null) this.InsertBuilder.Parameters = new List<SugarParameter>();
|
||||||
this.InsertBuilder.Parameters.Add(new SugarParameter(this.SqlBuilder.SqlParameterKeyWord+item.ColumnName,item.Value));
|
this.InsertBuilder.Parameters.Add(new SugarParameter(this.SqlBuilder.SqlParameterKeyWord + item.ColumnName, item.Value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -99,7 +108,7 @@ namespace SqlSugar
|
|||||||
Value = column.PropertyInfo.GetValue(item),
|
Value = column.PropertyInfo.GetValue(item),
|
||||||
ColumnName = GetDbColumnName(column.EntityName),
|
ColumnName = GetDbColumnName(column.EntityName),
|
||||||
EntityPropertyName = column.EntityName,
|
EntityPropertyName = column.EntityName,
|
||||||
TableId=i
|
TableId = i
|
||||||
};
|
};
|
||||||
insertItem.Add(columnInfo);
|
insertItem.Add(columnInfo);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ namespace SqlSugar
|
|||||||
public Guid ContextID { get; set; }
|
public Guid ContextID { get; set; }
|
||||||
public MappingTableList MappingTables = new MappingTableList();
|
public MappingTableList MappingTables = new MappingTableList();
|
||||||
public MappingColumnList MappingColumns = new MappingColumnList();
|
public MappingColumnList MappingColumns = new MappingColumnList();
|
||||||
public IgnoreComumnList IgnoreComumns = new IgnoreComumnList();
|
public IgnoreComumnList IgnoreColumns = new IgnoreComumnList();
|
||||||
|
|
||||||
protected ISqlBuilder _SqlBuilder;
|
protected ISqlBuilder _SqlBuilder;
|
||||||
protected EntityProvider _EntityProvider;
|
protected EntityProvider _EntityProvider;
|
||||||
|
@ -231,15 +231,14 @@ namespace SqlSugar
|
|||||||
public virtual IInsertable<T> Insertable<T>(params T[] insertObjs) where T : class, new()
|
public virtual IInsertable<T> Insertable<T>(params T[] insertObjs) where T : class, new()
|
||||||
{
|
{
|
||||||
var reval = new InsertableProvider<T>();
|
var reval = new InsertableProvider<T>();
|
||||||
|
var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ;
|
||||||
reval.Context = this;
|
reval.Context = this;
|
||||||
reval.EntityInfo = this.EntityProvider.GetEntityInfo<T>();
|
reval.EntityInfo = this.EntityProvider.GetEntityInfo<T>();
|
||||||
var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ;
|
|
||||||
reval.SqlBuilder = sqlBuilder;
|
reval.SqlBuilder = sqlBuilder;
|
||||||
reval.InsertObjs = insertObjs;
|
reval.InsertObjs = insertObjs;
|
||||||
sqlBuilder.InsertBuilder =reval.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig);
|
sqlBuilder.InsertBuilder =reval.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig);
|
||||||
sqlBuilder.InsertBuilder.Builder = sqlBuilder;
|
sqlBuilder.InsertBuilder.Builder = sqlBuilder;
|
||||||
sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this;
|
sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this;
|
||||||
sqlBuilder.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig);
|
|
||||||
reval.Init();
|
reval.Init();
|
||||||
return reval;
|
return reval;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user