mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 增加 Repository/DbContext SaveMany 方法实现一对多,子数据的完整保存;
- 调整 SaveManyToMany 方法名为 SaveMany;
This commit is contained in:
		@@ -1431,11 +1431,12 @@
 | 
			
		||||
            <param name="exp">lambda表达式</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.WhereDynamic(System.Object)">
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.WhereDynamic(System.Object,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="dywhere">主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合</param>
 | 
			
		||||
            <param name="not">是否标识为NOT</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.WhereCascade(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
 | 
			
		||||
 
 | 
			
		||||
@@ -293,8 +293,9 @@ namespace FreeSql
 | 
			
		||||
        /// 传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="dywhere">主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合</param>
 | 
			
		||||
        /// <param name="not">是否标识为NOT</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        ISelect<T1> WhereDynamic(object dywhere);
 | 
			
		||||
        ISelect<T1> WhereDynamic(object dywhere, bool not = false);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 多表查询时,该方法标记后,表达式条件将对所有表进行附加
 | 
			
		||||
 
 | 
			
		||||
@@ -888,12 +888,16 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        public IDelete<T1> ToDelete()
 | 
			
		||||
        {
 | 
			
		||||
            if (_tables[0].Table.Primarys.Any() == false) throw new Exception($"ToDelete 功能要求实体类 {_tables[0].Table.CsName} 必须有主键");
 | 
			
		||||
            return _orm.Delete<T1>().Where(GetToDeleteWhere("ftb_del"));
 | 
			
		||||
            var del = _orm.Delete<T1>();
 | 
			
		||||
            if (_tables[0].Table.Type != typeof(T1)) del.AsType(_tables[0].Table.Type);
 | 
			
		||||
            return del.Where(GetToDeleteWhere("ftb_del"));
 | 
			
		||||
        }
 | 
			
		||||
        public IUpdate<T1> ToUpdate()
 | 
			
		||||
        {
 | 
			
		||||
            if (_tables[0].Table.Primarys.Any() == false) throw new Exception($"ToUpdate 功能要求实体类 {_tables[0].Table.CsName} 必须有主键");
 | 
			
		||||
            return _orm.Update<T1>().Where(GetToDeleteWhere("ftb_upd"));
 | 
			
		||||
            var upd = _orm.Update<T1>();
 | 
			
		||||
            if (_tables[0].Table.Type != typeof(T1)) upd.AsType(_tables[0].Table.Type);
 | 
			
		||||
            return upd.Where(GetToDeleteWhere("ftb_upd"));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected List<Dictionary<Type, string>> GetTableRuleUnions()
 | 
			
		||||
 
 | 
			
		||||
@@ -319,7 +319,9 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            _tables[0].Parameter = exp.Parameters[0];
 | 
			
		||||
            return this.InternalWhere(exp?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        public ISelect<T1> WhereDynamic(object dywhere) => this.Where(_commonUtils.WhereObject(_tables.First().Table, $"{_tables.First().Alias}.", dywhere));
 | 
			
		||||
        public ISelect<T1> WhereDynamic(object dywhere, bool not = false) => not == false ?
 | 
			
		||||
            this.Where(_commonUtils.WhereObject(_tables.First().Table, $"{_tables.First().Alias}.", dywhere)) :
 | 
			
		||||
            this.Where($"not({_commonUtils.WhereObject(_tables.First().Table, $"{_tables.First().Alias}.", dywhere)})");
 | 
			
		||||
 | 
			
		||||
        public ISelect<T1> WhereCascade(Expression<Func<T1, bool>> exp)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user