瀏覽代碼

新增配置数据库库构建器,用来配置映射优先级等

zhontai 2 年之前
父節點
當前提交
5cecabd06e

+ 6 - 1
src/platform/ZhonTai.Admin/Core/Db/DBServiceCollectionExtensions.cs

@@ -10,6 +10,7 @@ using ZhonTai.Admin.Core.Configs;
 using ZhonTai.Admin.Core.Entities;
 using ZhonTai.Admin.Core.Dbs;
 using ZhonTai.Admin.Core.Auth;
+using ZhonTai.Admin.Core.Startup;
 
 namespace ZhonTai.Admin.Core.Db
 {
@@ -20,7 +21,9 @@ namespace ZhonTai.Admin.Core.Db
         /// </summary>
         /// <param name="services"></param>
         /// <param name="env"></param>
-        public async static Task AddDbAsync(this IServiceCollection services, IHostEnvironment env)
+        /// <param name="hostAppOptions"></param>
+        /// <returns></returns>
+        public async static Task AddDbAsync(this IServiceCollection services, IHostEnvironment env, HostAppOptions hostAppOptions)
         {
             services.AddScoped<DbUnitOfWorkManager>();
 
@@ -40,6 +43,8 @@ namespace ZhonTai.Admin.Core.Db
                     .UseLazyLoading(false)
                     .UseNoneCommandParameter(true);
 
+            hostAppOptions?.ConfigureDbBuilder?.Invoke(freeSqlBuilder);
+
             #region 监听所有命令
 
             if (dbConfig.MonitorCommand)

+ 1 - 1
src/platform/ZhonTai.Admin/Core/HostApp.cs

@@ -176,7 +176,7 @@ namespace ZhonTai.Admin.Core
             }
 
             //添加数据库
-            services.AddDbAsync(env).Wait();
+            services.AddDbAsync(env, _hostAppOptions).Wait();
 
             //数据库配置
             var dbConfig = ConfigHelper.Get<DbConfig>("dbconfig", env.EnvironmentName);

+ 7 - 1
src/platform/ZhonTai.Admin/Core/Startup/HostAppOptions.cs

@@ -1,4 +1,5 @@
-using System;
+using FreeSql;
+using System;
 namespace ZhonTai.Admin.Core.Startup
 {
     /// <summary>
@@ -35,5 +36,10 @@ namespace ZhonTai.Admin.Core.Startup
         /// 注入后置中间件
         /// </summary>
         public Action<HostAppMiddlewareContext> ConfigurePostMiddleware { get; set; }
+
+        /// <summary>
+        /// 配置数据库库构建器
+        /// </summary>
+        public Action<FreeSqlBuilder> ConfigureDbBuilder { get; set; }
     }
 }

+ 8 - 1
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -623,12 +623,14 @@
             <returns></returns>
             <exception cref="T:System.Exception"></exception>
         </member>
-        <member name="M:ZhonTai.Admin.Core.Db.DBServiceCollectionExtensions.AddDbAsync(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Hosting.IHostEnvironment)">
+        <member name="M:ZhonTai.Admin.Core.Db.DBServiceCollectionExtensions.AddDbAsync(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Hosting.IHostEnvironment,ZhonTai.Admin.Core.Startup.HostAppOptions)">
             <summary>
             添加数据库
             </summary>
             <param name="services"></param>
             <param name="env"></param>
+            <param name="hostAppOptions"></param>
+            <returns></returns>
         </member>
         <member name="M:ZhonTai.Admin.Core.Db.DBServiceCollectionExtensions.CreateMultiDbBuilder(ZhonTai.Admin.Core.Configs.MultiDb)">
             <summary>
@@ -1369,6 +1371,11 @@
             注入后置中间件
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Core.Startup.HostAppOptions.ConfigureDbBuilder">
+            <summary>
+            配置数据库库构建器
+            </summary>
+        </member>
         <member name="T:ZhonTai.Admin.Domain.Api.ApiEntity">
             <summary>
             接口管理