コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }