mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 IInsert InsertColumns/IgnoreColumns 方法重载输入 string[];#275
This commit is contained in:
		@@ -907,6 +907,13 @@
 | 
			
		||||
            <param name="columns">lambda选择列</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.IInsert`1.InsertColumns(System.String[])">
 | 
			
		||||
            <summary>
 | 
			
		||||
            只插入的列
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="columns">属性名,或者字段名</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.IInsert`1.IgnoreColumns(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            忽略的列,IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})
 | 
			
		||||
@@ -914,6 +921,13 @@
 | 
			
		||||
            <param name="columns">lambda选择列</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.IInsert`1.IgnoreColumns(System.String[])">
 | 
			
		||||
            <summary>
 | 
			
		||||
            忽略的列
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="columns">属性名,或者字段名</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.IInsert`1.InsertIdentity">
 | 
			
		||||
            <summary>
 | 
			
		||||
            指定可插入自增字段
 | 
			
		||||
 
 | 
			
		||||
@@ -48,12 +48,25 @@ namespace FreeSql
 | 
			
		||||
        /// <param name="columns">lambda选择列</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 只插入的列
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="columns">属性名,或者字段名</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        IInsert<T1> InsertColumns(string[] columns);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 忽略的列,IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="columns">lambda选择列</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 忽略的列
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="columns">属性名,或者字段名</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        IInsert<T1> IgnoreColumns(string[] columns);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 指定可插入自增字段
 | 
			
		||||
 
 | 
			
		||||
@@ -442,19 +442,24 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        public abstract long ExecuteIdentity();
 | 
			
		||||
        public abstract List<T1> ExecuteInserted();
 | 
			
		||||
 | 
			
		||||
        public IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns)
 | 
			
		||||
        public IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns) => IgnoreColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
 | 
			
		||||
        public IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns) => InsertColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
 | 
			
		||||
 | 
			
		||||
        public IInsert<T1> IgnoreColumns(string[] columns)
 | 
			
		||||
        {
 | 
			
		||||
            var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).Distinct();
 | 
			
		||||
            _ignore.Clear();
 | 
			
		||||
            foreach (var col in cols) _ignore.Add(col, true);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
        public IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns)
 | 
			
		||||
        {
 | 
			
		||||
            var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).ToDictionary(a => a, a => true);
 | 
			
		||||
            var cols = columns.Distinct().ToDictionary(a => a);
 | 
			
		||||
            _ignore.Clear();
 | 
			
		||||
            foreach (var col in _table.Columns.Values)
 | 
			
		||||
                if (cols.ContainsKey(col.Attribute.Name) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
 | 
			
		||||
                if (cols.ContainsKey(col.Attribute.Name) == true || cols.ContainsKey(col.CsName) == true)
 | 
			
		||||
                    _ignore.Add(col.Attribute.Name, true);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
        public IInsert<T1> InsertColumns(string[] columns)
 | 
			
		||||
        {
 | 
			
		||||
            var cols = columns.Distinct().ToDictionary(a => a);
 | 
			
		||||
            _ignore.Clear();
 | 
			
		||||
            foreach (var col in _table.Columns.Values)
 | 
			
		||||
                if (cols.ContainsKey(col.Attribute.Name) == false && cols.ContainsKey(col.CsName) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
 | 
			
		||||
                    _ignore.Add(col.Attribute.Name, true);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -309,7 +309,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
        public IUpdate<T1> IgnoreColumns(string[] columns)
 | 
			
		||||
        {
 | 
			
		||||
            var cols = columns.ToDictionary(a => a);
 | 
			
		||||
            var cols = columns.Distinct().ToDictionary(a => a);
 | 
			
		||||
            _ignore.Clear();
 | 
			
		||||
            foreach (var col in _table.Columns.Values)
 | 
			
		||||
                if (cols.ContainsKey(col.Attribute.Name) == true || cols.ContainsKey(col.CsName) == true)
 | 
			
		||||
@@ -318,7 +318,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        }
 | 
			
		||||
        public IUpdate<T1> UpdateColumns(string[] columns)
 | 
			
		||||
        {
 | 
			
		||||
            var cols = columns.ToDictionary(a => a);
 | 
			
		||||
            var cols = columns.Distinct().ToDictionary(a => a);
 | 
			
		||||
            _ignore.Clear();
 | 
			
		||||
            foreach (var col in _table.Columns.Values)
 | 
			
		||||
                if (cols.ContainsKey(col.Attribute.Name) == false && cols.ContainsKey(col.CsName) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user