protected UpdateableProvider <T> CreateUpdateable <T>(T[] UpdateObjs) where T : class, new() { var reval = InstanceFactory.GetUpdateableProvider <T>(this.CurrentConnectionConfig); var sqlBuilder = InstanceFactory.GetSqlbuilder(this.CurrentConnectionConfig);; reval.Context = this.Context; reval.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo <T>(); reval.SqlBuilder = sqlBuilder; reval.UpdateObjs = UpdateObjs; sqlBuilder.UpdateBuilder = reval.UpdateBuilder = InstanceFactory.GetUpdateBuilder(this.CurrentConnectionConfig); sqlBuilder.UpdateBuilder.Builder = sqlBuilder; sqlBuilder.UpdateBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(this.CurrentConnectionConfig); sqlBuilder.Context = reval.SqlBuilder.UpdateBuilder.Context = this.Context; reval.Init(); return(reval); }
protected UpdateableProvider <T> CreateUpdateable <T>(T[] UpdateObjs) where T : class, new() { var result = InstanceFactory.GetUpdateableProvider <T>(this.CurrentConnectionConfig); var sqlBuilder = InstanceFactory.GetSqlbuilder(this.CurrentConnectionConfig);; result.Context = this; result.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo <T>(); result.SqlBuilder = sqlBuilder; result.UpdateObjs = UpdateObjs; sqlBuilder.UpdateBuilder = result.UpdateBuilder = InstanceFactory.GetUpdateBuilder(this.CurrentConnectionConfig); sqlBuilder.UpdateBuilder.Builder = sqlBuilder; sqlBuilder.UpdateBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(this.CurrentConnectionConfig); sqlBuilder.Context = result.SqlBuilder.UpdateBuilder.Context = this; result.Init(); var ignoreColumns = result.EntityInfo.Columns.Where(it => it.IsOnlyIgnoreUpdate).ToList(); if (ignoreColumns != null && ignoreColumns.Any()) { result = (UpdateableProvider <T>)result.IgnoreColumns(ignoreColumns.Select(it => it.PropertyName).ToArray()); } return(result); }