mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 调整 SyncStructure 返回值为 void
This commit is contained in:
		@@ -121,6 +121,13 @@
 | 
			
		||||
            清空状态数据
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            根据 lambda 条件删除数据
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="predicate"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.Add(`0)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            添加
 | 
			
		||||
@@ -215,6 +222,15 @@
 | 
			
		||||
            </summary>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
 | 
			
		||||
            <summary>
 | 
			
		||||
            批量注入 Repository,可以参考代码自行调整
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="services"></param>
 | 
			
		||||
            <param name="globalDataFilter"></param>
 | 
			
		||||
            <param name="assemblies"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:FreeSql.IBaseRepository.Orm">
 | 
			
		||||
            <summary>
 | 
			
		||||
            注意:IFreeSql 属于顶级对象,事务无法自动传递。<para></para>
 | 
			
		||||
 
 | 
			
		||||
@@ -2763,14 +2763,12 @@
 | 
			
		||||
            同步实体类型到数据库
 | 
			
		||||
            </summary>
 | 
			
		||||
            <typeparam name="TEntity"></typeparam>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ICodeFirst.SyncStructure(System.Type[])">
 | 
			
		||||
            <summary>
 | 
			
		||||
            同步实体类型集合到数据库
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="entityTypes"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ICodeFirst.SyncStructure(System.Type,System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
@@ -2778,7 +2776,6 @@
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="entityType">实体类型</param>
 | 
			
		||||
            <param name="tableName">指定表名对比</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ICodeFirst.GetDbInfo(System.Type)">
 | 
			
		||||
            <summary>
 | 
			
		||||
 
 | 
			
		||||
@@ -66,21 +66,18 @@ namespace FreeSql
 | 
			
		||||
        /// 同步实体类型到数据库
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <typeparam name="TEntity"></typeparam>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        bool SyncStructure<TEntity>();
 | 
			
		||||
        void SyncStructure<TEntity>();
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 同步实体类型集合到数据库
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entityTypes"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        bool SyncStructure(params Type[] entityTypes);
 | 
			
		||||
        void SyncStructure(params Type[] entityTypes);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 同步实体类型到数据库(指定表名)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entityType">实体类型</param>
 | 
			
		||||
        /// <param name="tableName">指定表名对比</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        bool SyncStructure(Type entityType, string tableName);
 | 
			
		||||
        void SyncStructure(Type entityType, string tableName);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 根据 System.Type 获取数据库信息
 | 
			
		||||
 
 | 
			
		||||
@@ -81,18 +81,18 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        internal void _dicSycedTryAdd(Type entityType, string tableName = null) =>
 | 
			
		||||
            _dicSycedGetOrAdd(entityType).TryAdd(GetTableNameLowerOrUpper(tableName), true);
 | 
			
		||||
 | 
			
		||||
        public bool SyncStructure<TEntity>() =>
 | 
			
		||||
        public void SyncStructure<TEntity>() =>
 | 
			
		||||
            this.SyncStructure(new TypeAndName(typeof(TEntity), ""));
 | 
			
		||||
        public bool SyncStructure(params Type[] entityTypes) => entityTypes == null ? false :
 | 
			
		||||
            this.SyncStructure(entityTypes.Distinct().Select(a => new TypeAndName(a, "")).ToArray());
 | 
			
		||||
        public bool SyncStructure(Type entityType, string tableName) =>
 | 
			
		||||
        public void SyncStructure(params Type[] entityTypes) => 
 | 
			
		||||
            this.SyncStructure(entityTypes?.Distinct().Select(a => new TypeAndName(a, "")).ToArray());
 | 
			
		||||
        public void SyncStructure(Type entityType, string tableName) =>
 | 
			
		||||
           this.SyncStructure(new TypeAndName(entityType, GetTableNameLowerOrUpper(tableName)));
 | 
			
		||||
        protected bool SyncStructure(params TypeAndName[] objects)
 | 
			
		||||
        protected void SyncStructure(params TypeAndName[] objects)
 | 
			
		||||
        {
 | 
			
		||||
            if (objects == null) return false;
 | 
			
		||||
            if (objects == null) return;
 | 
			
		||||
            var syncObjects = objects.Where(a => _dicSycedGetOrAdd(a.entityType).ContainsKey(GetTableNameLowerOrUpper(a.tableName)) == false && GetTableByEntity(a.entityType)?.DisableSyncStructure == false)
 | 
			
		||||
                .Select(a => new TypeAndName(a.entityType, GetTableNameLowerOrUpper(a.tableName))).ToArray();
 | 
			
		||||
            if (syncObjects.Any() == false) return false;
 | 
			
		||||
            if (syncObjects.Any() == false) return;
 | 
			
		||||
            var before = new Aop.SyncStructureBeforeEventArgs(syncObjects.Select(a => a.entityType).ToArray());
 | 
			
		||||
            _orm.Aop.SyncStructureBeforeHandler?.Invoke(this, before);
 | 
			
		||||
            Exception exception = null;
 | 
			
		||||
@@ -105,11 +105,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    if (string.IsNullOrEmpty(ddl))
 | 
			
		||||
                    {
 | 
			
		||||
                        foreach (var syncObject in syncObjects) _dicSycedTryAdd(syncObject.entityType, syncObject.tableName);
 | 
			
		||||
                        return true;
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    var affrows = ExecuteDDLStatements(ddl);
 | 
			
		||||
                    foreach (var syncObject in syncObjects) _dicSycedTryAdd(syncObject.entityType, syncObject.tableName);
 | 
			
		||||
                    return true;
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception ex)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user