mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 增加 IUpdate.ExecuteUpdated 重载方法返回指定字段;#1681
This commit is contained in:
		@@ -21,11 +21,11 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public override int ExecuteAffrows() => base.SplitExecuteAffrows(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999);
 | 
			
		||||
        public override List<T1> ExecuteUpdated() => base.SplitExecuteUpdated(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999);
 | 
			
		||||
		protected override List<TReturn> ExecuteUpdated<TReturn>(IEnumerable<ColumnInfo> columns) => base.SplitExecuteUpdated<TReturn>(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999, columns);
 | 
			
		||||
 | 
			
		||||
        protected override List<T1> RawExecuteUpdated()
 | 
			
		||||
        {
 | 
			
		||||
            var ret = new List<T1>();
 | 
			
		||||
		protected override List<TReturn> RawExecuteUpdated<TReturn>(IEnumerable<ColumnInfo> columns)
 | 
			
		||||
		{
 | 
			
		||||
            var ret = new List<TReturn>();
 | 
			
		||||
            DbParameter[] dbParms = null;
 | 
			
		||||
            StringBuilder sbret = null;
 | 
			
		||||
            ToSqlFetch(sb =>
 | 
			
		||||
@@ -37,7 +37,7 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
                    sbret.Append(" RETURNING ");
 | 
			
		||||
 | 
			
		||||
                    var colidx = 0;
 | 
			
		||||
                    foreach (var col in _table.Columns.Values)
 | 
			
		||||
                    foreach (var col in columns)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (colidx > 0) sbret.Append(", ");
 | 
			
		||||
                        sbret.Append(_commonUtils.RereadColumn(col, $"new.{_commonUtils.QuoteSqlName(col.Attribute.Name)}")).Append(" as ").Append(_commonUtils.QuoteSqlName(col.CsName));
 | 
			
		||||
@@ -51,7 +51,7 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
                Exception exception = null;
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    var rettmp = _orm.Ado.Query<T1>(_table.TypeLazy ?? _table.Type, _connection, _transaction, CommandType.Text, sql, _commandTimeout, dbParms);
 | 
			
		||||
                    var rettmp = _orm.Ado.Query<TReturn>(_table.TypeLazy ?? _table.Type, _connection, _transaction, CommandType.Text, sql, _commandTimeout, dbParms);
 | 
			
		||||
                    ValidateVersionAndThrow(rettmp.Count, sql, dbParms);
 | 
			
		||||
                    ret.AddRange(rettmp);
 | 
			
		||||
                }
 | 
			
		||||
@@ -110,11 +110,11 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        public override Task<int> ExecuteAffrowsAsync(CancellationToken cancellationToken = default) => base.SplitExecuteAffrowsAsync(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999, cancellationToken);
 | 
			
		||||
        public override Task<List<T1>> ExecuteUpdatedAsync(CancellationToken cancellationToken = default) => base.SplitExecuteUpdatedAsync(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999, cancellationToken);
 | 
			
		||||
		protected override Task<List<TReturn>> ExecuteUpdatedAsync<TReturn>(IEnumerable<ColumnInfo> columns, CancellationToken cancellationToken = default) => base.SplitExecuteUpdatedAsync<TReturn>(_batchRowsLimit > 0 ? _batchRowsLimit : 200, _batchParameterLimit > 0 ? _batchParameterLimit : 999, columns, cancellationToken);
 | 
			
		||||
 | 
			
		||||
        async protected override Task<List<T1>> RawExecuteUpdatedAsync(CancellationToken cancellationToken = default)
 | 
			
		||||
        {
 | 
			
		||||
            var ret = new List<T1>();
 | 
			
		||||
		async protected override Task<List<TReturn>> RawExecuteUpdatedAsync<TReturn>(IEnumerable<ColumnInfo> columns, CancellationToken cancellationToken = default)
 | 
			
		||||
		{
 | 
			
		||||
            var ret = new List<TReturn>();
 | 
			
		||||
            DbParameter[] dbParms = null;
 | 
			
		||||
            StringBuilder sbret = null;
 | 
			
		||||
            await ToSqlFetchAsync(async sb =>
 | 
			
		||||
@@ -126,7 +126,7 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
                    sbret.Append(" RETURNING ");
 | 
			
		||||
 | 
			
		||||
                    var colidx = 0;
 | 
			
		||||
                    foreach (var col in _table.Columns.Values)
 | 
			
		||||
                    foreach (var col in columns)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (colidx > 0) sbret.Append(", ");
 | 
			
		||||
                        sbret.Append(_commonUtils.RereadColumn(col, $"new.{_commonUtils.QuoteSqlName(col.Attribute.Name)}")).Append(" as ").Append(_commonUtils.QuoteSqlName(col.CsName));
 | 
			
		||||
@@ -140,7 +140,7 @@ namespace FreeSql.Firebird.Curd
 | 
			
		||||
                Exception exception = null;
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    var rettmp = await _orm.Ado.QueryAsync<T1>(_table.TypeLazy ?? _table.Type, _connection, _transaction, CommandType.Text, sql, _commandTimeout, dbParms, cancellationToken);
 | 
			
		||||
                    var rettmp = await _orm.Ado.QueryAsync<TReturn>(_table.TypeLazy ?? _table.Type, _connection, _transaction, CommandType.Text, sql, _commandTimeout, dbParms, cancellationToken);
 | 
			
		||||
                    ValidateVersionAndThrow(rettmp.Count, sql, dbParms);
 | 
			
		||||
                    ret.AddRange(rettmp);
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user