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,
|
||||
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();
|
||||
base.Execute("sqlsuagr", () =>
|
||||
{
|
||||
|
@ -20,7 +20,9 @@ namespace OrmTest.UnitTest
|
||||
var db = GetInstance();
|
||||
var insertObj = new Student() { Name="jack",CreateTime=DateTime.Now };
|
||||
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();
|
||||
|
||||
//Insert reutrn Command Count
|
||||
|
@ -37,7 +37,7 @@ namespace OrmTest.UnitTest
|
||||
|
||||
|
||||
#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 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();
|
||||
|
@ -94,7 +94,7 @@ namespace SqlSugar
|
||||
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)))
|
||||
{
|
||||
continue;
|
||||
|
@ -27,7 +27,7 @@ namespace SqlSugar
|
||||
return @"INSERT INTO {0}
|
||||
({1})
|
||||
VALUES
|
||||
({2})";
|
||||
({2}) ;SELECT SCOPE_IDENTITY();";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -189,7 +189,7 @@ namespace SqlSugar
|
||||
resolveExpress.JoinQueryInfos = Builder.QueryBuilder.JoinQueryInfos;
|
||||
resolveExpress.MappingColumns = Context.MappingColumns;
|
||||
resolveExpress.MappingTables = Context.MappingTables;
|
||||
resolveExpress.IgnoreComumnList = Context.IgnoreComumns;
|
||||
resolveExpress.IgnoreComumnList = Context.IgnoreColumns;
|
||||
resolveExpress.Resolve(expression, resolveType);
|
||||
this.Parameters = new List<SugarParameter>();
|
||||
this.Parameters.AddRange(resolveExpress.Parameters);
|
||||
|
@ -60,6 +60,8 @@ namespace SqlSugar
|
||||
|
||||
public IInsertable<T> Where(bool isInsertNull)
|
||||
{
|
||||
if (this.InsertBuilder.LambdaExpressions == null)
|
||||
this.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(this.Context.CurrentConnectionConfig);
|
||||
this.InsertBuilder.IsInsertNull = isInsertNull;
|
||||
return this;
|
||||
}
|
||||
@ -67,12 +69,19 @@ namespace SqlSugar
|
||||
#region Private Methods
|
||||
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)
|
||||
{
|
||||
foreach (var item in this.InsertBuilder.DbColumnInfoList)
|
||||
{
|
||||
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),
|
||||
ColumnName = GetDbColumnName(column.EntityName),
|
||||
EntityPropertyName = column.EntityName,
|
||||
TableId=i
|
||||
TableId = i
|
||||
};
|
||||
insertItem.Add(columnInfo);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ namespace SqlSugar
|
||||
public Guid ContextID { get; set; }
|
||||
public MappingTableList MappingTables = new MappingTableList();
|
||||
public MappingColumnList MappingColumns = new MappingColumnList();
|
||||
public IgnoreComumnList IgnoreComumns = new IgnoreComumnList();
|
||||
public IgnoreComumnList IgnoreColumns = new IgnoreComumnList();
|
||||
|
||||
protected ISqlBuilder _SqlBuilder;
|
||||
protected EntityProvider _EntityProvider;
|
||||
|
@ -231,15 +231,14 @@ namespace SqlSugar
|
||||
public virtual IInsertable<T> Insertable<T>(params T[] insertObjs) where T : class, new()
|
||||
{
|
||||
var reval = new InsertableProvider<T>();
|
||||
var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ;
|
||||
reval.Context = this;
|
||||
reval.EntityInfo = this.EntityProvider.GetEntityInfo<T>();
|
||||
var sqlBuilder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig); ;
|
||||
reval.SqlBuilder = sqlBuilder;
|
||||
reval.InsertObjs = insertObjs;
|
||||
sqlBuilder.InsertBuilder =reval.InsertBuilder = InstanceFactory.GetInsertBuilder(base.CurrentConnectionConfig);
|
||||
sqlBuilder.InsertBuilder.Builder = sqlBuilder;
|
||||
sqlBuilder.Context = reval.SqlBuilder.InsertBuilder.Context = this;
|
||||
sqlBuilder.InsertBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig);
|
||||
reval.Init();
|
||||
return reval;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user