From 41c48b1bf58b2bbf3d36cfba57d874668f2f49ac Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Mon, 11 Oct 2021 20:40:00 +0800 Subject: [PATCH 001/225] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/Util/SyntaxTreeHelper.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SoEasyPlatform/Code/Util/SyntaxTreeHelper.cs b/SoEasyPlatform/Code/Util/SyntaxTreeHelper.cs index b6459c3c..a4300141 100644 --- a/SoEasyPlatform/Code/Util/SyntaxTreeHelper.cs +++ b/SoEasyPlatform/Code/Util/SyntaxTreeHelper.cs @@ -51,11 +51,12 @@ public static Type GetModelTypeByClass(string classString, string typeName) diagnostic.IsWarningAsError || diagnostic.Severity == DiagnosticSeverity.Error); + string message = ""; foreach (Diagnostic diagnostic in failures) { - Console.Error.WriteLine("\t{0}: {1}", diagnostic.Id, diagnostic.GetMessage()); + message += diagnostic.GetMessage(); } - throw new Exception("解析实体类出错,请检查命名" + classString); + throw new Exception("解析实体类出错,请检查命名" + message +" \r\n "+classString); } else { From 9e54253e8ed68af6fdb4998f26eab5e3f1330873 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Tue, 12 Oct 2021 11:34:46 +0800 Subject: [PATCH 002/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=8F=8C=E5=87=BBBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/views/system/codetableimport.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SoEasyPlatform/wwwroot/views/system/codetableimport.js b/SoEasyPlatform/wwwroot/views/system/codetableimport.js index 5fddb459..89956847 100644 --- a/SoEasyPlatform/wwwroot/views/system/codetableimport.js +++ b/SoEasyPlatform/wwwroot/views/system/codetableimport.js @@ -7,7 +7,7 @@ btnSearch.$Button({ url: configs.url.Get, callback: function (msg) { msg.Data.Dblfunc = function () { - btnEdit.click(); + //btnEdit.click(); }; divGrid.$Grid(msg.Data); } @@ -17,7 +17,7 @@ divFrom.$Form({ url: configs.url.Get, callback: function (msg) { msg.Data.Dblfunc = function () { - btnEdit.click(); + //btnEdit.click(); }; divGrid.$Grid(msg.Data); } From 0bbd92a6acea04019d6dbb92c251cdf9f6dbcfa2 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Tue, 12 Oct 2021 11:34:58 +0800 Subject: [PATCH 003/225] - --- SoEasyPlatform/Startup.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 318834f8..c9d5dbe3 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "24522221224"; + public static string Version = "2122221224"; /// /// ӿĿ¼ /// From 42ea6f36366cd511f020ecc631417993b5da7157 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Tue, 12 Oct 2021 12:02:07 +0800 Subject: [PATCH 004/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9JS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Pages/CodeTableImport.cshtml | 1 + SoEasyPlatform/Startup.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Pages/CodeTableImport.cshtml b/SoEasyPlatform/Pages/CodeTableImport.cshtml index de4337ad..65a5c1ed 100644 --- a/SoEasyPlatform/Pages/CodeTableImport.cshtml +++ b/SoEasyPlatform/Pages/CodeTableImport.cshtml @@ -3,6 +3,7 @@ @{ Layout = "~/Pages/Shared/_Window.cshtml"; var edit = string.IsNullOrEmpty(Request.QueryString.Value) ? "" : "edit"; + ViewBag.version = "?v="+SoEasyPlatform.Startup.Version; } @section js { diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index c9d5dbe3..de58386e 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "2122221224"; + public static string Version = "212222112124"; /// /// ӿĿ¼ /// From a329ea0903d8557e7af8e72a38d8b43728a76d9e Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 14 Oct 2021 01:48:42 +0800 Subject: [PATCH 005/225] =?UTF-8?q?dbfirst=E6=94=AF=E6=8C=81=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC=20=E6=A8=A1=E7=89=88=E5=85=B3=E9=94=AE?= =?UTF-8?q?=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs | 5 +++-- .../Apis/CodeTableApp/CodeTableController_CreateFile.cs | 3 ++- SoEasyPlatform/Models/DbModel/CodeTable.cs | 2 ++ SoEasyPlatform/Models/Gen/EntitiesGen.cs | 4 ++++ SoEasyPlatform/Models/ViewModel/CodeTableViewModel.cs | 1 + SoEasyPlatform/Pages/Shared/ParameterDescription.cshtml | 3 +++ SoEasyPlatform/Pages/{ => Shared}/_CodeTable.cshtml | 0 SoEasyPlatform/Pages/{ => Shared}/_CodeTable.cshtml.cs | 0 8 files changed, 15 insertions(+), 3 deletions(-) rename SoEasyPlatform/Pages/{ => Shared}/_CodeTable.cshtml (100%) rename SoEasyPlatform/Pages/{ => Shared}/_CodeTable.cshtml.cs (100%) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs index 6ba4e39a..8b11b582 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs @@ -253,7 +253,7 @@ public ActionResult> SaveCodeType([FromForm] CodeTypeViewModel #region Create File /// - /// 生成实体 + /// 创建方案 /// /// [HttpPost] @@ -483,7 +483,8 @@ public ActionResult> SaveCodetableImport([FromForm] int dbid, [F CodeTableId = entity.Id, CodeType = typeInfo.CodeType.Name, Length = typeInfo.DbTypeInfo.Length, - DecimalDigits = typeInfo.DbTypeInfo.DecimalDigits + DecimalDigits = typeInfo.DbTypeInfo.DecimalDigits, + DefaultValue = columnInfo.DefaultValue }; code.ColumnInfoList.Add(column); } diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs index 0abb70be..ecab6205 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs @@ -84,7 +84,8 @@ private List GetGenList(List tableList, List t Length = 0, DecimalDigits = 0, IsIgnore = true, - CodeType=column.CodeType + CodeType=column.CodeType, + DefaultValue=column.DefaultValue }; var mappings= mapping.Where(it => item.DbId == it.DbId && it.TableName == item.ClassName && it.ColumnName == column.ClassProperName).ToList(); ; proGen.MappingProperties = tags.Where(it => mappings.Any(x => x.TagId == it.Id + "")).ToList(); diff --git a/SoEasyPlatform/Models/DbModel/CodeTable.cs b/SoEasyPlatform/Models/DbModel/CodeTable.cs index 314214cd..b1abe4b9 100644 --- a/SoEasyPlatform/Models/DbModel/CodeTable.cs +++ b/SoEasyPlatform/Models/DbModel/CodeTable.cs @@ -33,6 +33,8 @@ public class CodeColumns public string Description { get; set; } public string CodeType { get; set; } public int CodeTableId { get; set; } + [SugarColumn(IsNullable =true)] + public string DefaultValue { get; set; } } } diff --git a/SoEasyPlatform/Models/Gen/EntitiesGen.cs b/SoEasyPlatform/Models/Gen/EntitiesGen.cs index e9d71c03..6d359ddd 100644 --- a/SoEasyPlatform/Models/Gen/EntitiesGen.cs +++ b/SoEasyPlatform/Models/Gen/EntitiesGen.cs @@ -93,6 +93,10 @@ public class PropertyGen /// public string CodeType { get; set; } /// + /// 默认值 + /// + public string DefaultValue { get; set; } + /// /// 扩展属性 /// public List MappingProperties { get; set; } diff --git a/SoEasyPlatform/Models/ViewModel/CodeTableViewModel.cs b/SoEasyPlatform/Models/ViewModel/CodeTableViewModel.cs index b109e668..ab6eba17 100644 --- a/SoEasyPlatform/Models/ViewModel/CodeTableViewModel.cs +++ b/SoEasyPlatform/Models/ViewModel/CodeTableViewModel.cs @@ -38,6 +38,7 @@ public class CodeColumnsViewModel public int CodeTableId { get; set; } public int? DecimalDigits { get; set; } public int? Length { get; set; } + public string DefaultValue { get; set; } } public class CodeTableGridViewModel { diff --git a/SoEasyPlatform/Pages/Shared/ParameterDescription.cshtml b/SoEasyPlatform/Pages/Shared/ParameterDescription.cshtml index 010e7172..c6043fce 100644 --- a/SoEasyPlatform/Pages/Shared/ParameterDescription.cshtml +++ b/SoEasyPlatform/Pages/Shared/ParameterDescription.cshtml @@ -52,6 +52,9 @@

    是否忽略     @@Model.PropertyGens[i].IsIgnore

+

+     默认值     @@Model.PropertyGens[i].DefaultValue +

    是否是自定义类型 @@Model.PropertyGens[i].IsSpecialType

diff --git a/SoEasyPlatform/Pages/_CodeTable.cshtml b/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml similarity index 100% rename from SoEasyPlatform/Pages/_CodeTable.cshtml rename to SoEasyPlatform/Pages/Shared/_CodeTable.cshtml diff --git a/SoEasyPlatform/Pages/_CodeTable.cshtml.cs b/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml.cs similarity index 100% rename from SoEasyPlatform/Pages/_CodeTable.cshtml.cs rename to SoEasyPlatform/Pages/Shared/_CodeTable.cshtml.cs From c330957ad09e08a1acc0c3953b13ab854c43b7b1 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 14 Oct 2021 02:12:20 +0800 Subject: [PATCH 006/225] - --- SoEasyPlatform/Pages/BIZ.cshtml | 2 +- SoEasyPlatform/Pages/DbView.cshtml | 2 +- SoEasyPlatform/Pages/Dbfirst.cshtml | 2 +- SoEasyPlatform/Pages/Web.cshtml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SoEasyPlatform/Pages/BIZ.cshtml b/SoEasyPlatform/Pages/BIZ.cshtml index f1e8e67b..b40c1929 100644 --- a/SoEasyPlatform/Pages/BIZ.cshtml +++ b/SoEasyPlatform/Pages/BIZ.cshtml @@ -13,5 +13,5 @@ } \ No newline at end of file diff --git a/SoEasyPlatform/Pages/DbView.cshtml b/SoEasyPlatform/Pages/DbView.cshtml index e92d7f63..93b626f7 100644 --- a/SoEasyPlatform/Pages/DbView.cshtml +++ b/SoEasyPlatform/Pages/DbView.cshtml @@ -13,7 +13,7 @@ } +
+ +
+ +
+
- +
diff --git a/SoEasyPlatform/Pages/Index.cshtml b/SoEasyPlatform/Pages/Index.cshtml index 718777f8..e61925cb 100644 --- a/SoEasyPlatform/Pages/Index.cshtml +++ b/SoEasyPlatform/Pages/Index.cshtml @@ -19,7 +19,7 @@
diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index de58386e..da56d538 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "212222112124"; + public static string Version = "1.26"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/commonfield.js b/SoEasyPlatform/wwwroot/views/system/commonfield.js index 353478c1..ba73e153 100644 --- a/SoEasyPlatform/wwwroot/views/system/commonfield.js +++ b/SoEasyPlatform/wwwroot/views/system/commonfield.js @@ -11,8 +11,8 @@ edit:"修改公共字段" }, w: { - w: 500, - h:420 + w: 600, + h:500 } }; divFrom.$Form({ From c504ee5cf1fcae4f5c4e7d09ee14350e507fe52b Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 21 Oct 2021 20:46:28 +0800 Subject: [PATCH 041/225] - --- SoEasyPlatform/SoEasyPlatform.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/SoEasyPlatform.csproj b/SoEasyPlatform/SoEasyPlatform.csproj index 4d1246c2..a7d1e8f7 100644 --- a/SoEasyPlatform/SoEasyPlatform.csproj +++ b/SoEasyPlatform/SoEasyPlatform.csproj @@ -50,7 +50,7 @@ - + From cd84d8e1d7a6fb96ad87eeba5d952e4acd6f0486 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 21 Oct 2021 20:57:58 +0800 Subject: [PATCH 042/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/shared/layout.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index da56d538..4c3fda92 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.26"; + public static string Version = "1.261"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/shared/layout.js b/SoEasyPlatform/wwwroot/views/shared/layout.js index 9d5ceae9..edf55f33 100644 --- a/SoEasyPlatform/wwwroot/views/shared/layout.js +++ b/SoEasyPlatform/wwwroot/views/shared/layout.js @@ -1,4 +1,8 @@ divMenu.$Fill({ SugarUrl: _root + "System/getmenu" }) iframeBody.$AddCss({ "height": $sugar.$WindowHeight() - 75 }) +window.onresize = function () +{ + iframeBody.$AddCss({ "height": $sugar.$WindowHeight() - 75 }) +} \ No newline at end of file From 27624b45d6f34b6772ee5d9a63e9461083c565d3 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 21 Oct 2021 21:08:53 +0800 Subject: [PATCH 043/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/css/CodeTable.css | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 4c3fda92..4abc8b79 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.261"; + public static string Version = "1.2611"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/css/CodeTable.css b/SoEasyPlatform/wwwroot/views/system/css/CodeTable.css index fe553e42..d568a2ec 100644 --- a/SoEasyPlatform/wwwroot/views/system/css/CodeTable.css +++ b/SoEasyPlatform/wwwroot/views/system/css/CodeTable.css @@ -37,4 +37,14 @@ } #frmPathSave .comboTreeDropDownContainer { height: 100px +} + +@media (max-width: 1270px) +{ + .btn-many { + max-width:500px !important + } + .btn-many button{ + margin-bottom:5px; + } } \ No newline at end of file From 3e0e157e2361a6d4b91aa8c6b3f47520e6c9826a Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 21 Oct 2021 21:22:14 +0800 Subject: [PATCH 044/225] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=BD=B1=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/shared/overwritesugar.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 4abc8b79..1b18782a 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.2611"; + public static string Version = "1.27"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/shared/overwritesugar.js b/SoEasyPlatform/wwwroot/views/shared/overwritesugar.js index 5e621127..1411d632 100644 --- a/SoEasyPlatform/wwwroot/views/shared/overwritesugar.js +++ b/SoEasyPlatform/wwwroot/views/shared/overwritesugar.js @@ -365,8 +365,16 @@ var SugarContext = { // ... }); }) + }, + Onresize: function () { + window.onresize = function () + { + + $(".x_panel").css({ height: $(window).height() - 45 }); + } } }; $sugar.init(SugarContext); SugarContext.AjaxAopLoadingInit(); +SugarContext.Onresize(); From 51a88f523f705df1ddfdd72ee68255ac314b8ba3 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 24 Oct 2021 04:19:53 +0000 Subject: [PATCH 045/225] add LICENSE. --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..29f81d81 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 164ac01444699ee8566aa751734d663d0e2d3085 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 30 Oct 2021 00:11:16 +0800 Subject: [PATCH 046/225] MySql timestamp bug --- .../Apis/CodeTableApp/CodeTableController_CreateFile.cs | 8 ++++++++ SoEasyPlatform/Startup.cs | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs index 6a195322..c1c01309 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs @@ -57,6 +57,14 @@ private List GetGenList(List tableList, List t List result = new List(); var mapping = Db.Queryable().ToList(); var tags = Db.Queryable().ToList(); + if (databasedbType == DbType.MySql) + { + var timestamp = types.FirstOrDefault(it => it.Name == "timestamp"); + if (timestamp != null) + { + timestamp.CSharepType = "DateTime"; + } + } foreach (var item in tableList) { EntitiesGen gen = new EntitiesGen() diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 1b18782a..32c233c0 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.27"; + public static string Version = "1.28"; /// /// ӿĿ¼ /// From 5cfcae814bdccac00ac4b09de9cd554ddda96630 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 4 Nov 2021 11:34:25 +0800 Subject: [PATCH 047/225] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=BA=5F=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/Util/PubMehtod.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/SoEasyPlatform/Code/Util/PubMehtod.cs b/SoEasyPlatform/Code/Util/PubMehtod.cs index 96c4c77b..5186dba2 100644 --- a/SoEasyPlatform/Code/Util/PubMehtod.cs +++ b/SoEasyPlatform/Code/Util/PubMehtod.cs @@ -12,6 +12,7 @@ public static string GetCsharpName(string dbColumnName) if (dbColumnName.Contains("_")) { dbColumnName = dbColumnName.TrimEnd('_'); + dbColumnName = dbColumnName.TrimStart('_'); var array = dbColumnName.Split('_').Select(it=>GetFirstUpper(it,true)).ToArray(); return string.Join("", array); } From bb44f7d104561e7e504c10cdb1bb00ad0f9696ab Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 10 Nov 2021 03:52:40 +0000 Subject: [PATCH 048/225] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dbfa482b..9456e27e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ - [使用文档] https://www.donet5.com/Doc/11 - [可执行exe文件下载] https://www.donet5.com/Doc/11/2388 - 官方QQ群:958343000 -- 技术讨论、二次开发等咨询、问题和建议,请移步到人人开源社区,我会在第一时间进行解答和回复 +- 技术讨论、二次开发等咨询、问题和建议,请移步到果糖网,我会在第一时间进行解答和回复 - 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持 - 微信扫码加好友【果糖网】,与作者互动

![输入图片说明](https://www.donet5.com/_theme/img/addWX.jpg "加微信") From 75f60566656629a8215604ae4998405283fb248e Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 13 Nov 2021 14:03:30 +0800 Subject: [PATCH 049/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E7=BC=A9?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/build/js/custom.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/wwwroot/build/js/custom.js b/SoEasyPlatform/wwwroot/build/js/custom.js index e5100ff5..bebe260d 100644 --- a/SoEasyPlatform/wwwroot/build/js/custom.js +++ b/SoEasyPlatform/wwwroot/build/js/custom.js @@ -74,7 +74,7 @@ function init_sidebar() { $SIDEBAR_MENU.on('click', ".side-menu a", function (ev) { var $li = $(this).parent(); - + $(".nav-sm .child_menu[style='display: block;']").hide(); if ($li.is('.active')) { $li.removeClass('active active-sm'); $('ul:first', $li).slideUp(function () { @@ -98,6 +98,7 @@ function init_sidebar() { setContentHeight(); }); } + // $(".nav-sm .child_menu[style='display: none;']").parent().parent().parent().addClass("active"); }); // toggle small or large menu @@ -105,6 +106,7 @@ function init_sidebar() { if ($BODY.hasClass('nav-md')) { $SIDEBAR_MENU.find('li.active ul').hide(); $SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active'); + $(".child_menu[style='display: block;']").hide(); } else { $SIDEBAR_MENU.find('li.active-sm ul').show(); $SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm'); From 572ca5514b55e86a487426a270be857231b33ac9 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 13 Nov 2021 14:33:27 +0800 Subject: [PATCH 050/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E7=BC=A9?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/build/js/custom.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/SoEasyPlatform/wwwroot/build/js/custom.js b/SoEasyPlatform/wwwroot/build/js/custom.js index bebe260d..19e62fc7 100644 --- a/SoEasyPlatform/wwwroot/build/js/custom.js +++ b/SoEasyPlatform/wwwroot/build/js/custom.js @@ -98,6 +98,12 @@ function init_sidebar() { setContentHeight(); }); } + if ($(".nav-sm").size() >= 1) + { + var side = $(this).closest(".side-menu"); + side.find("li").removeClass("active"); + side.children().addClass("active"); + } // $(".nav-sm .child_menu[style='display: none;']").parent().parent().parent().addClass("active"); }); From 84e527e0268cdb56443d53ccf26ea385babdd4b4 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 13 Nov 2021 14:37:35 +0800 Subject: [PATCH 051/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=B6=E7=BC=A9?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/build/js/custom.js | 1 + 1 file changed, 1 insertion(+) diff --git a/SoEasyPlatform/wwwroot/build/js/custom.js b/SoEasyPlatform/wwwroot/build/js/custom.js index 19e62fc7..6b0b5fa1 100644 --- a/SoEasyPlatform/wwwroot/build/js/custom.js +++ b/SoEasyPlatform/wwwroot/build/js/custom.js @@ -115,6 +115,7 @@ function init_sidebar() { $(".child_menu[style='display: block;']").hide(); } else { $SIDEBAR_MENU.find('li.active-sm ul').show(); + $(".active .child_menu").show(); $SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm'); } From 802063cfd686661e37a78d970e5f2f3299b54d30 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 13 Nov 2021 14:55:03 +0800 Subject: [PATCH 052/225] =?UTF-8?q?=E6=94=AF=E6=8C=81float?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/AppStart/InitTable.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index d8e88e78..3b508801 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -409,6 +409,19 @@ private void InitCodeTable(SqlSugarClient db) } }).ExecuteCommand(); } + if (!db.Queryable().Any(it => it.Name == "float")) + { + db.Insertable(new CodeType() + { + CSharepType = "decimal", + Name = "float", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="float" } + } + }).ExecuteCommand(); + } } private void InitConnection(SqlSugarClient db) From b6fde6300001df1749554246812de00509b79423 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 13 Nov 2021 20:02:38 +0800 Subject: [PATCH 053/225] =?UTF-8?q?=E6=9B=B4=E6=96=B0sqlsugar=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DORACLE=E7=9B=B8=E5=85=B3BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/SoEasyPlatform.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/SoEasyPlatform.csproj b/SoEasyPlatform/SoEasyPlatform.csproj index a7d1e8f7..a4c4b689 100644 --- a/SoEasyPlatform/SoEasyPlatform.csproj +++ b/SoEasyPlatform/SoEasyPlatform.csproj @@ -50,7 +50,7 @@ - +
From f4448a2ff9e55b180f44275b57002dcc73bc765f Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 18 Nov 2021 17:27:08 +0800 Subject: [PATCH 054/225] MySql char bug --- .../CodeTableApp/CodeTableController_SaveCodetableImport.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs index a7845087..7a7ecfc6 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs @@ -41,6 +41,10 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo { throw new Exception($"没有匹配到类型{columnInfo.DataType} 来自 {columnInfo.TableName} 表 {columnInfo.DbColumnName} ,请到类型管理添加"); } + if (result.CodeType.Name == "guid" && columnInfo.DataType == "char" && columnInfo.Length!=36) + { + result = SortTypeInfoList.FirstOrDefault(it => it.CodeType.Name == "string100"); + } return result; } } From eb306a31b0c1431bc8b007767d5899987e197a11 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 18 Nov 2021 17:46:23 +0800 Subject: [PATCH 055/225] 1.29 --- SoEasyPlatform/Startup.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 32c233c0..1b057d3b 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.28"; + public static string Version = "1.29"; /// /// ӿĿ¼ /// From e26199e3d04cd2d07f7457423ac80b87ef2e3ec4 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 2 Dec 2021 21:18:02 +0800 Subject: [PATCH 056/225] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E8=A1=A8=E6=8C=89=E5=9B=9E=E8=BD=A6=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/codetableimport.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 1b057d3b..c42edaf8 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.29"; + public static string Version = "1.31"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/codetableimport.js b/SoEasyPlatform/wwwroot/views/system/codetableimport.js index 89956847..ef0b7f57 100644 --- a/SoEasyPlatform/wwwroot/views/system/codetableimport.js +++ b/SoEasyPlatform/wwwroot/views/system/codetableimport.js @@ -23,6 +23,14 @@ divFrom.$Form({ } }) +document.onkeydown = function (e) { + var ev = (typeof event != 'undefined') ? window.event : e; + if (ev.keyCode == 13) { + btnSearch.click(); + return false; + } +} + function GetData() { var gridInfo = divGrid.$GridInfo(); From 91f44485939b05b835f5b5a3c2f8c01cb65470b7 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sun, 26 Dec 2021 23:45:57 +0800 Subject: [PATCH 057/225] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=A8=A1=E7=89=88SqlSugar=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/template/Lib1_1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/wwwroot/template/Lib1_1.txt b/SoEasyPlatform/wwwroot/template/Lib1_1.txt index 737cfd25..957bb41c 100644 --- a/SoEasyPlatform/wwwroot/template/Lib1_1.txt +++ b/SoEasyPlatform/wwwroot/template/Lib1_1.txt @@ -1 +1 @@ -{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.3.4" }]} \ No newline at end of file +{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.5.1" }]} \ No newline at end of file From 666767a1fa5a34edaee6122088e8d90929112d2e Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Mon, 27 Dec 2021 00:03:32 +0800 Subject: [PATCH 058/225] - --- SoEasyPlatform/Code/AppStart/InitTable.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index 3b508801..52a97478 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -85,7 +85,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _entitytempId + "", - FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.4\" }]}]", + FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" }]}]", FileInfo = _net5lib + "", NameFormat = "DbModels\\{0}", ProjentName = "[简单三层]_方案_实体_Sugar", @@ -99,7 +99,7 @@ private void InitProject(SqlSugarClient db) FileSuffix = ".cs", NameFormat = "Services\\{0}Manager", TemplateId1 = _biztempId + "", - FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.4\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", + FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", FileInfo = _net5lib + ","+_dbcontext, ProjentName = "[简单三层]_方案_业务_Sugar", Path = @"c:\" + _defaultNamespace + @"\Services", @@ -112,7 +112,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _webtempId + "", - FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.4\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), + FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), FileInfo =string.Join(",",_WebFiles), ProjentName = "[简单三层]_方案_前端_Sugar", NameFormat = "Controllers\\{0}Controller", From cdf451adf3d8690bb07a5d3a01e52864c08a2d9e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 15:33:02 +0800 Subject: [PATCH 059/225] - --- SoEasyPlatform/SoEasyPlatform.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/SoEasyPlatform.csproj b/SoEasyPlatform/SoEasyPlatform.csproj index a4c4b689..08b59592 100644 --- a/SoEasyPlatform/SoEasyPlatform.csproj +++ b/SoEasyPlatform/SoEasyPlatform.csproj @@ -50,7 +50,7 @@ - + From c6921b5a2d161b1fd8f4a9bb326a748f0d3cc988 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 15:34:35 +0800 Subject: [PATCH 060/225] =?UTF-8?q?=E6=9B=B4=E6=96=B0SqlSugar=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/AppStart/InitTable.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index 52a97478..8100b665 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -85,7 +85,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _entitytempId + "", - FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" }]}]", + FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" }]}]", FileInfo = _net5lib + "", NameFormat = "DbModels\\{0}", ProjentName = "[简单三层]_方案_实体_Sugar", @@ -99,7 +99,7 @@ private void InitProject(SqlSugarClient db) FileSuffix = ".cs", NameFormat = "Services\\{0}Manager", TemplateId1 = _biztempId + "", - FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", + FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", FileInfo = _net5lib + ","+_dbcontext, ProjentName = "[简单三层]_方案_业务_Sugar", Path = @"c:\" + _defaultNamespace + @"\Services", @@ -112,7 +112,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _webtempId + "", - FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.5.1\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), + FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), FileInfo =string.Join(",",_WebFiles), ProjentName = "[简单三层]_方案_前端_Sugar", NameFormat = "Controllers\\{0}Controller", From b3a213223aa216589b94cd2afc7b8c8ab4355698 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 16:00:45 +0800 Subject: [PATCH 061/225] =?UTF-8?q?=E4=BF=AE=E5=A4=8DORACLE=2010-2?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/AppStart/InitTable.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index 8100b665..e0f9edf2 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -297,7 +297,8 @@ private void InitCodeTable(SqlSugarClient db) CSharepType=CSharpDataType.@decimal.ToString(), DbType=new DbTypeInfo[]{ new DbTypeInfo(){ Name="decimal",Length=18, DecimalDigits=2}, - new DbTypeInfo(){ Name="number",Length=18, DecimalDigits=2} + new DbTypeInfo(){ Name="number",Length=18, DecimalDigits=2}, + new DbTypeInfo(){ Name="number",Length=10, DecimalDigits=2} } }, new CodeType{ From a81a3ab0d9b1de1bb1439063e4ec0484ff5e7296 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 16:13:11 +0800 Subject: [PATCH 062/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9WebFirst=20Oracle=20b?= =?UTF-8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CodeTableController_SaveCodetableImport.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs index 7a7ecfc6..a14b1939 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs @@ -17,10 +17,15 @@ public partial class CodeTableController : BaseController private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo, CodeTableController codeTableController,DbType dbtype) { var typeInfo = types.FirstOrDefault(y => y.DbType.Any(it => it.Name.Equals(columnInfo.DataType, StringComparison.OrdinalIgnoreCase))); - if (typeInfo == null) + if(typeInfo == null && columnInfo.DataType == "Double") + { + var type = types.First(it => it.Name == "decimal_18_4"); + return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; + } + else if (typeInfo == null) { var type = types.First(it => it.Name == "string100"); - return new SortTypeInfo() { CodeType= type, DbTypeInfo= type.DbType[0] }; + return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; } else { @@ -32,16 +37,16 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo SortTypeInfo item = new SortTypeInfo(); item.DbTypeInfo = cstype; item.CodeType = type; - item.Sort = GetSort(cstype,type,columnInfo,dbtype); + item.Sort = GetSort(cstype, type, columnInfo, dbtype); SortTypeInfoList.Add(item); } } - var result= SortTypeInfoList.Where(it=>it.CodeType.Name!= "json_default").OrderByDescending(it=>it.Sort).FirstOrDefault(); + var result = SortTypeInfoList.Where(it => it.CodeType.Name != "json_default").OrderByDescending(it => it.Sort).FirstOrDefault(); if (result == null) { throw new Exception($"没有匹配到类型{columnInfo.DataType} 来自 {columnInfo.TableName} 表 {columnInfo.DbColumnName} ,请到类型管理添加"); } - if (result.CodeType.Name == "guid" && columnInfo.DataType == "char" && columnInfo.Length!=36) + if (result.CodeType.Name == "guid" && columnInfo.DataType == "char" && columnInfo.Length != 36) { result = SortTypeInfoList.FirstOrDefault(it => it.CodeType.Name == "string100"); } From 7824b274a2deca6530a82c1c78b3c221c5bf2fea Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 16:13:34 +0800 Subject: [PATCH 063/225] - --- SoEasyPlatform/Code/AppStart/InitTable.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index e0f9edf2..8100b665 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -297,8 +297,7 @@ private void InitCodeTable(SqlSugarClient db) CSharepType=CSharpDataType.@decimal.ToString(), DbType=new DbTypeInfo[]{ new DbTypeInfo(){ Name="decimal",Length=18, DecimalDigits=2}, - new DbTypeInfo(){ Name="number",Length=18, DecimalDigits=2}, - new DbTypeInfo(){ Name="number",Length=10, DecimalDigits=2} + new DbTypeInfo(){ Name="number",Length=18, DecimalDigits=2} } }, new CodeType{ From 9018ac993190a041753f4fa871cf779d4f69fe60 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 16:22:56 +0800 Subject: [PATCH 064/225] 5.0.6.4 --- SoEasyPlatform/wwwroot/template/Lib1_1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/wwwroot/template/Lib1_1.txt b/SoEasyPlatform/wwwroot/template/Lib1_1.txt index 957bb41c..06bd60a0 100644 --- a/SoEasyPlatform/wwwroot/template/Lib1_1.txt +++ b/SoEasyPlatform/wwwroot/template/Lib1_1.txt @@ -1 +1 @@ -{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.5.1" }]} \ No newline at end of file +{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.6.4" }]} \ No newline at end of file From ae853bbbc73fa8d45202d285b803b5fd674a612d Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 17:29:28 +0800 Subject: [PATCH 065/225] 1.32 --- SoEasyPlatform/Startup.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index c42edaf8..5183ee18 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.31"; + public static string Version = "1.32"; /// /// ӿĿ¼ /// From fd532fcd9ffed48f1ea9d9a4aa5f77fb0e3e4003 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 18:31:58 +0800 Subject: [PATCH 066/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9PGSQL=20=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/AppStart/InitTable.cs | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index 8100b665..bc122c96 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -422,6 +422,33 @@ private void InitCodeTable(SqlSugarClient db) } }).ExecuteCommand(); } + + if (!db.Queryable().Any(it => it.Name == "PgSqlDate")) + { + db.Insertable(new CodeType() + { + CSharepType = "DateTime", + Name = "PgSqlDate", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="date" } + } + }).ExecuteCommand(); + } + if (!db.Queryable().Any(it => it.Name == "PgSqlTime")) + { + db.Insertable(new CodeType() + { + CSharepType = "DateTime", + Name = "PgSqlTime", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="time" } + } + }).ExecuteCommand(); + } } private void InitConnection(SqlSugarClient db) From 663aa6742fc898d6cdd3e61cb5c8d0e37e912433 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 19:01:42 +0800 Subject: [PATCH 067/225] =?UTF-8?q?PGSQL=E7=B1=BB=E5=9E=8B=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CodeTableController_SaveCodetableImport.cs | 4 ++ SoEasyPlatform/Code/AppStart/InitTable.cs | 69 +++++++++++++++++-- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs index a14b1939..aad36677 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs @@ -49,6 +49,10 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo if (result.CodeType.Name == "guid" && columnInfo.DataType == "char" && columnInfo.Length != 36) { result = SortTypeInfoList.FirstOrDefault(it => it.CodeType.Name == "string100"); + } + if (dbtype == DbType.PostgreSQL) + { + } return result; } diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index bc122c96..facf3cf9 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -423,32 +423,87 @@ private void InitCodeTable(SqlSugarClient db) }).ExecuteCommand(); } - if (!db.Queryable().Any(it => it.Name == "PgSqlDate")) + if (!db.Queryable().Any(it => it.Name == "Extension_Time_20220407")) { db.Insertable(new CodeType() { CSharepType = "DateTime", - Name = "PgSqlDate", + Name = "Extension_Time_20220407", Sort = 10000, DbType = new DbTypeInfo[] { - new DbTypeInfo(){ Name="date" } + new DbTypeInfo(){ Name="date" }, + new DbTypeInfo(){ Name="time" }, + new DbTypeInfo(){ Name="timestamp with time zone" }, + new DbTypeInfo(){ Name="timestamptz" }, + new DbTypeInfo(){ Name="timestamp without time zone" }, + new DbTypeInfo(){ Name="time with time zone" } } }).ExecuteCommand(); } - if (!db.Queryable().Any(it => it.Name == "PgSqlTime")) + if (!db.Queryable().Any(it => it.Name == "Extension_Bool_20220407")) { db.Insertable(new CodeType() { - CSharepType = "DateTime", - Name = "PgSqlTime", + CSharepType = "bool", + Name = "Extension_Bool_20220407", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="bool" }, + new DbTypeInfo(){ Name="Boolean" } + } + }).ExecuteCommand(); + } + if (!db.Queryable().Any(it => it.Name == "Extension_Decimal_20220407")) + { + db.Insertable(new CodeType() + { + CSharepType = "decimal", + Name = "Extension_Decimal_20220407", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="float4" }, + new DbTypeInfo(){ Name="float8" }, + new DbTypeInfo(){ Name="interval" }, + new DbTypeInfo(){ Name="lseg" }, + new DbTypeInfo(){ Name="macaddr" }, + //new DbTypeInfo(){ Name="money" }, + new DbTypeInfo(){ Name="path" }, + new DbTypeInfo(){ Name="point" }, + new DbTypeInfo(){ Name="polygon" }, + new DbTypeInfo(){ Name="double precision" }, + new DbTypeInfo(){ Name="real" } + } + }).ExecuteCommand(); + } + if (!db.Queryable().Any(it => it.Name == "Extension_Byte_20220407")) + { + db.Insertable(new CodeType() + { + CSharepType = "byte", + Name = "Extension_Byte_20220407", Sort = 10000, DbType = new DbTypeInfo[] { - new DbTypeInfo(){ Name="time" } + new DbTypeInfo(){ Name="varbit" } } }).ExecuteCommand(); } + if (!db.Queryable().Any(it => it.Name == "Extension_Guid_20220407")) + { + db.Insertable(new CodeType() + { + CSharepType = "guid", + Name = "Extension_Guid_20220407", + Sort = 10000, + DbType = new DbTypeInfo[] + { + new DbTypeInfo(){ Name="uuid" } + } + }).ExecuteCommand(); + } } private void InitConnection(SqlSugarClient db) From 16f0687471ea5e3b6f4371f82fe4607cc6bf1d76 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 19:46:36 +0800 Subject: [PATCH 068/225] =?UTF-8?q?=E5=85=BC=E5=AE=B9PGSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CodeTableApp/CodeTableController_CreateFile.cs | 6 ++++++ .../CodeTableController_SaveCodetableImport.cs | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs index c1c01309..896999eb 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_CreateFile.cs @@ -168,6 +168,12 @@ private DbTypeInfo GetTypeInfoByDatabaseType(DbTypeInfo[] dbType, DbType databas mstypes = SqlSugar.OracleDbBind.MappingTypesConst.Select(it => it.Key.ToLower()).ToList(); break; case DbType.PostgreSQL: + if (dbType.Any(it => it.Name == "blob")) + { + var list = new List { new DbTypeInfo() { Name = "bit" } }; + list.AddRange(dbType); + dbType = list.ToArray(); + } mstypes = SqlSugar.PostgreSQLDbBind.MappingTypesConst.Select(it => it.Key.ToLower()).ToList(); break; case DbType.Dm: diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs index aad36677..b4fbd48b 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs @@ -27,6 +27,11 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo var type = types.First(it => it.Name == "string100"); return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; } + else if (columnInfo.DataType == "json") + { + var type = types.First(it => it.Name.ToLower() == "string2000"); + return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; + } else { List SortTypeInfoList = new List(); @@ -50,9 +55,13 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo { result = SortTypeInfoList.FirstOrDefault(it => it.CodeType.Name == "string100"); } - if (dbtype == DbType.PostgreSQL) + if (dbtype == DbType.PostgreSQL) { - + if (columnInfo.DataType == "bit") + { + var type = types.First(it => it.Name.ToLower() == "bytearray"); + return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; + } } return result; } From c7094d9deb28a6985f94dab17ce7ad010049801c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 19:50:27 +0800 Subject: [PATCH 069/225] - --- SoEasyPlatform/Apis/SystemApp/SystemController.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/SoEasyPlatform/Apis/SystemApp/SystemController.cs b/SoEasyPlatform/Apis/SystemApp/SystemController.cs index df6cbbd8..42933899 100644 --- a/SoEasyPlatform/Apis/SystemApp/SystemController.cs +++ b/SoEasyPlatform/Apis/SystemApp/SystemController.cs @@ -49,12 +49,15 @@ public ActionResult>> GetDbType() List trees = new List(); foreach (DbType type in Enum.GetValues(typeof(DbType))) { - trees.Add(new TreeModel() + if (type != DbType.MySqlConnector && type != DbType.Custom && type != DbType.Access && type != DbType.Oscar) { - Id = type.ToString(), - Title = type.ToString(), - IsSelectable = true - }); + trees.Add(new TreeModel() + { + Id = type.ToString(), + Title = type.ToString(), + IsSelectable = true + }); + } } ApiResult> result = new ApiResult>(); result.Data = trees; From 351a4c651042379c40200a914ea11fe762349359 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 19:57:27 +0800 Subject: [PATCH 070/225] - --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/database.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 5183ee18..2b362e64 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.32"; + public static string Version = "1.33"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/database.js b/SoEasyPlatform/wwwroot/views/system/database.js index 92db64a4..7bfe7654 100644 --- a/SoEasyPlatform/wwwroot/views/system/database.js +++ b/SoEasyPlatform/wwwroot/views/system/database.js @@ -12,7 +12,7 @@ }, w: { w: 600, - h:300 + h:350 } }; divFrom.$Form({ @@ -46,7 +46,7 @@ btnSearch.$Button({ saveDbTypeName.$SelectTree({ isMultiple: false, url: configs.url.GetDbType, - maxHeight: 180, + maxHeight: 250, rootIsSelect: false }) From ebde2e49e0aa6caa97d2c57d699aaa85acd2cd97 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 7 Apr 2022 20:03:07 +0800 Subject: [PATCH 071/225] =?UTF-8?q?=E5=85=BC=E5=AE=B9PGSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CodeTableApp/CodeTableController_SaveCodetableImport.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs index b4fbd48b..abe5e61d 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController_SaveCodetableImport.cs @@ -32,6 +32,11 @@ private SortTypeInfo GetEntityType(List types, DbColumnInfo columnInfo var type = types.First(it => it.Name.ToLower() == "string2000"); return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; } + else if (columnInfo.DataType == "timestamp"&&dbtype!=DbType.SqlServer) + { + var type = types.First(it => it.Name.ToLower() == "datetime"); + return new SortTypeInfo() { CodeType = type, DbTypeInfo = type.DbType[0] }; + } else { List SortTypeInfoList = new List(); From a72c4b39f520aa237865f197dc739d1fdfd0fcb9 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 6 May 2022 20:57:21 +0800 Subject: [PATCH 072/225] - --- SoEasyPlatform/SoEasyPlatform.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/SoEasyPlatform.csproj b/SoEasyPlatform/SoEasyPlatform.csproj index 08b59592..40cbfc3e 100644 --- a/SoEasyPlatform/SoEasyPlatform.csproj +++ b/SoEasyPlatform/SoEasyPlatform.csproj @@ -50,7 +50,7 @@ - + From 00e89d97a5df97666644381550230b6f37590fc2 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 6 May 2022 22:51:39 +0800 Subject: [PATCH 073/225] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E7=BB=93=E6=9E=84=E5=AF=B9=E6=AF=94=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Apis/CodeTableApp/CodeTableController.cs | 97 +++++++++++++++++++ SoEasyPlatform/Pages/CodeFirst.cshtml | 3 + SoEasyPlatform/Startup.cs | 2 +- .../wwwroot/views/shared/overwritesugar.js | 4 + .../wwwroot/views/system/CodeTable.js | 52 ++++++++-- .../wwwroot/views/system/css/CodeTable.css | 29 ++++++ 6 files changed, 176 insertions(+), 11 deletions(-) diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs index f15e85c9..4fcd7eeb 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; using AutoMapper; using Microsoft.AspNetCore.Mvc; @@ -431,6 +432,102 @@ public ActionResult> CreateTables([FromForm] string model, [From return result; } + + + /// + ////结构对比 + /// + /// + [HttpPost] + [ExceptionFilter] + [Route("GetTableDiff")] + public ActionResult> GetTableDiff([FromForm] string model, [FromForm] int dbid) + { + var tableDb = base.GetTryDb(dbid); + var result = new ApiResult(); + List tableDifferences = new List(); + if (!string.IsNullOrEmpty(model)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject>(model); + var oldList = CodeTableDb.AsQueryable().In(list.Select(it => it.Id).ToList()).ToList(); + base.Check(oldList.Any(it => it.IsLock), string.Join(",", oldList.Where(it => it.IsLock).Select(it => it.ClassName)) + "是锁表状态禁止建表"); + List genList = GetGenList(oldList, CodeTypeDb.GetList(), tableDb.CurrentConnectionConfig.DbType); + foreach (var item in genList) + { + item.PropertyGens = item.PropertyGens.Where(it => it.IsIgnore == false).ToList(); + foreach (var property in item.PropertyGens) + { + if (property.IsSpecialType) + { + property.Type = "string"; + } + } + } + string key = TemplateHelper.EntityKey + SyntaxTreeHelper.TemplateString.GetHashCode(); + foreach (var item in genList) + { + var classString = TemplateHelper.GetTemplateValue(key, SyntaxTreeHelper.TemplateString, item); + var type = SyntaxTreeHelper.GetModelTypeByClass(classString, item.ClassName); + tableDb.CurrentConnectionConfig.ConfigureExternalServices = new ConfigureExternalServices() + { + EntityNameService = (type, info) => + { + if (info.EntityName == item.ClassName || (info.EntityName == null && info.DbTableName == item.ClassName)) + { + info.EntityName = item.ClassName; + info.DbTableName = item.TableName; + info.TableDescription = item.Description; + } + }, + EntityService = (type, info) => + { + if (info.EntityName == item.ClassName) + { + var column = item.PropertyGens.FirstOrDefault(it => it.PropertyName == info.PropertyName); + info.DbColumnName = column.DbColumnName; + info.ColumnDescription = column.Description; + info.IsNullable = column.IsNullable; + info.Length = Convert.ToInt32(column.Length); + info.DecimalDigits = Convert.ToInt32(column.DecimalDigits); + info.IsPrimarykey = column.IsPrimaryKey; + info.IsIdentity = column.IsIdentity; + info.IsIgnore = column.IsIgnore; + info.DataType = column.DbType; + if (tableDb.CurrentConnectionConfig.DbType == DbType.Sqlite && info.IsIdentity) + { + info.DataType = "integer"; + } + } + } + }; + if(tableDb.DbMaintenance.IsAnyTable(item.TableName, false)) + { + var diff = tableDb.CodeFirst.GetDifferenceTables(type).ToDiffString(); + if (diff != null && !diff.Contains("No change")) + { + tableDifferences.Add(diff); + } + } + } + + } + if (tableDifferences.Count == 0) + { + result.Data = "此操作没有风险,可以继续!!"; + } + else + { + result.Data = string.Join("", tableDifferences).Replace("\n","
"); + } + result.Data = result.Data.Replace( "
----", "

"); + result.Data = result.Data.Replace("----", "

"); + result.Data = result.Data.Replace("Table:", "表名:"); + result.Data = result.Data.Replace("Add column", "添加列"); + result.Data = result.Data.Replace("Update column", "更新列"); + result.Data = result.Data.Replace("Delete column", "删除列"); + result.IsSuccess = true; + return result; + } #endregion #region Update entity by db diff --git a/SoEasyPlatform/Pages/CodeFirst.cshtml b/SoEasyPlatform/Pages/CodeFirst.cshtml index c915724e..93ca68dd 100644 --- a/SoEasyPlatform/Pages/CodeFirst.cshtml +++ b/SoEasyPlatform/Pages/CodeFirst.cshtml @@ -75,6 +75,9 @@ +
- +
- + +
- +
- + +

可以全局替换私有方案中 " 路径 " 的 相同 部分

-
diff --git a/SoEasyPlatform/wwwroot/views/system/projectgroup.js b/SoEasyPlatform/wwwroot/views/system/projectgroup.js index bc931604..d0f52d0f 100644 --- a/SoEasyPlatform/wwwroot/views/system/projectgroup.js +++ b/SoEasyPlatform/wwwroot/views/system/projectgroup.js @@ -1,7 +1,8 @@ var configs = { url: { Get: _root + "projectgroup/GetProjectGroupList", - SaveSystem: _root + "projectgroup/SaveProjectGroup" + SaveSystem: _root + "projectgroup/SaveProjectGroup", + GetProjet: _root + "system/GetProject" }, text: { @@ -12,6 +13,14 @@ h:400 } }; + +saveProjectNamesName.$SelectTree({ + isMultiple: true, + url: configs.url.GetProjet, + maxHeight: 100, + rootIsSelect: false +}) + divFrom.$Form({ url: configs.url.Get, callback: function (msg) { @@ -43,9 +52,7 @@ btnAdd.$Open("#divOpen", { h: configs.w.h, validate: function () { frmSave.$ClearControls(); - saveName.removeAttribute("readOnly"); - saveDbType.removeAttribute("readOnly") - saveCSharepType.removeAttribute("readOnly") + saveSort.value = 0; return true; }, yes: function () { @@ -80,9 +87,8 @@ btnEdit.$Open("#divOpen", { } else { gridInfo = gridInfo[0]; frmSave.$FillControls(gridInfo); - saveName.setAttribute("readOnly", true); - saveDbType.setAttribute("readOnly", true) - saveCSharepType.setAttribute("readOnly", true) + saveProjectNamesName.value = saveProjectNames.value; + saveProjectNames.value="noupdate" return true; } }, From 9f8f3b80cc219c3863a0897fe95f5d1ce68e4f64 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 15:17:45 +0800 Subject: [PATCH 079/225] - --- SoEasyPlatform/Pages/Solution.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/Pages/Solution.cshtml b/SoEasyPlatform/Pages/Solution.cshtml index d8096f58..6982e3b3 100644 --- a/SoEasyPlatform/Pages/Solution.cshtml +++ b/SoEasyPlatform/Pages/Solution.cshtml @@ -53,7 +53,7 @@
-

可以全局替换私有方案中 " 路径 " 的 相同 部分

+

方案中路径强制改成当前方案

From 4edda1b38b78a47c53493fb36a8f4ef07f2c4d1d Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 15:53:59 +0800 Subject: [PATCH 080/225] =?UTF-8?q?=E4=B8=80=E9=94=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectGroupApp/ProjectGroupController.cs | 19 +++++++ SoEasyPlatform/Pages/Solution.cshtml | 7 +-- SoEasyPlatform/Startup.cs | 2 +- .../wwwroot/views/system/projectgroup.js | 53 +++++++++++++++++-- 4 files changed, 73 insertions(+), 8 deletions(-) diff --git a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs index b44e6b0c..2336daa8 100644 --- a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs +++ b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs @@ -83,5 +83,24 @@ public ActionResult> SaveProjectGroup([FromForm] ProjectGroupV result.Data = x.InsertList.Any() ? Pubconst.MESSAGEADDSUCCESS : Pubconst.MESSAGESAVESUCCESS; return result; } + + + /// + /// 删除解决方案 + /// + /// + [HttpPost] + [Route("deleteProjectGroup")] + public ActionResult> deleteProjectGroup([FromForm] string model) + { + var result = new ApiResult(); + if (!string.IsNullOrEmpty(model)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject>(model); + Db.Deleteable().In(list.Select(it => it.Id).ToList()).ExecuteCommand(); + } + result.IsSuccess = true; + return result; + } } } diff --git a/SoEasyPlatform/Pages/Solution.cshtml b/SoEasyPlatform/Pages/Solution.cshtml index 6982e3b3..70ff2d49 100644 --- a/SoEasyPlatform/Pages/Solution.cshtml +++ b/SoEasyPlatform/Pages/Solution.cshtml @@ -26,6 +26,7 @@
+
@@ -43,7 +44,7 @@
- +
@@ -52,8 +53,8 @@
- -

方案中路径强制改成当前方案

+ +

生成解决方案时强制所有方案使用当前新路径

diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 29c69562..814cf229 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.3413111"; + public static string Version = "1.34131111"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/projectgroup.js b/SoEasyPlatform/wwwroot/views/system/projectgroup.js index d0f52d0f..157c3435 100644 --- a/SoEasyPlatform/wwwroot/views/system/projectgroup.js +++ b/SoEasyPlatform/wwwroot/views/system/projectgroup.js @@ -2,7 +2,9 @@ url: { Get: _root + "projectgroup/GetProjectGroupList", SaveSystem: _root + "projectgroup/SaveProjectGroup", - GetProjet: _root + "system/GetProject" + GetProjet: _root + "system/GetProject", + BuilderProjects: _root + "projectgroup/BuilderProjects", + Del: _root+"projectgroup/deleteProjectGroup" }, text: { @@ -17,7 +19,7 @@ saveProjectNamesName.$SelectTree({ isMultiple: true, url: configs.url.GetProjet, - maxHeight: 100, + maxHeight: 200, rootIsSelect: false }) @@ -111,5 +113,48 @@ btnEdit.$Open("#divOpen", { }, btn: ['保存', '关闭'] }); - - \ No newline at end of file + +btnProject.$Confirm({ + title: "是否生成项目", + ok: function () { + var gridInfo = divGrid.$GridInfo(); + if (gridInfo.length == 0) { + configs.url.BuilderProjects.$Ajax({ + callback: function (msg) { + if (msg.IsSuccess) { + "生成成功".$Alert(); + btnSearch.click(); + } + else { + msg.Data.$Alert(); + } + }, + data: { "model": JSON.stringify(gridInfo) } + }) + } else { + "请选择一条数据".$Alert(); + } + } +}) +btnDel.$Confirm({ + title: "是否删除记录", + ok: function () { + var gridInfo = divGrid.$GridInfo(); + if (gridInfo.length > 0) { + configs.url.Del.$Ajax({ + callback: function (msg) { + if (msg.IsSuccess) { + "删除成功".$Alert(); + btnSearch.click(); + } + else { + msg.Data.$Alert(); + } + }, + data: { "model": JSON.stringify(gridInfo) } + }) + } else { + "请选择一条数据".$Alert(); + } + } +}) From f131f975e3ea4c189a96d5b4f5fc28f761831f2c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 16:56:59 +0800 Subject: [PATCH 081/225] =?UTF-8?q?=E4=B8=80=E9=94=AE=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform.sln | 4 +- .../ProjectGroupApp/ProjectGroupController.cs | 19 ++ SoEasyPlatform/Pages/All.cshtml | 168 ++++++++++++++++++ SoEasyPlatform/Pages/All.cshtml.cs | 12 ++ .../wwwroot/views/system/BuilderAll.js | 30 ++++ .../wwwroot/views/system/projectgroup.js | 29 +-- 6 files changed, 246 insertions(+), 16 deletions(-) create mode 100644 SoEasyPlatform/Pages/All.cshtml create mode 100644 SoEasyPlatform/Pages/All.cshtml.cs create mode 100644 SoEasyPlatform/wwwroot/views/system/BuilderAll.js diff --git a/SoEasyPlatform.sln b/SoEasyPlatform.sln index 5c8e535b..48f17d2a 100644 --- a/SoEasyPlatform.sln +++ b/SoEasyPlatform.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30523.141 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32414.318 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoEasyPlatform", "SoEasyPlatform\SoEasyPlatform.csproj", "{D4E4101E-81B5-40F8-903D-D6E069250841}" EndProject diff --git a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs index 2336daa8..5f87cd7c 100644 --- a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs +++ b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs @@ -84,6 +84,25 @@ public ActionResult> SaveProjectGroup([FromForm] ProjectGroupV return result; } + /// + /// 执行一键生成 + /// + /// + [HttpPost] + [Route("BuilderProjects")] + public ActionResult> BuilderProjects([FromForm] string model) + { + var result = new ApiResult(); + if (!string.IsNullOrEmpty(model)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject>(model); + var id = list.First().Id; + var group = Db.Queryable().InSingle(id); + var projectids = group.ProjectIds; + } + result.IsSuccess = true; + return result; + } /// /// 删除解决方案 diff --git a/SoEasyPlatform/Pages/All.cshtml b/SoEasyPlatform/Pages/All.cshtml new file mode 100644 index 00000000..efd3c97f --- /dev/null +++ b/SoEasyPlatform/Pages/All.cshtml @@ -0,0 +1,168 @@ +@page +@{ + Layout = "~/Pages/Shared/_Layout.cshtml"; + ViewData["Title"] = "生成解决方案:"+HttpContext.Request.Query["name"]; + ViewBag.DetaultName = "SugarModels"; +} +@section js{ + + + + + +} + + + + diff --git a/SoEasyPlatform/Pages/All.cshtml.cs b/SoEasyPlatform/Pages/All.cshtml.cs new file mode 100644 index 00000000..90ec55f2 --- /dev/null +++ b/SoEasyPlatform/Pages/All.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace SoEasyPlatform.Pages +{ + public class AllModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js new file mode 100644 index 00000000..c5e22d86 --- /dev/null +++ b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js @@ -0,0 +1,30 @@ + +var configs = { + url: { + BuilderProjects: _root + "projectgroup/BuilderProjects" + } +}; + +btnBack.onclick = function () { + window.location.href = "/Solution"; +} +btnProjectGroup.onclick = function () +{ + var gridInfo = divGrid.$GridInfo(); + if (gridInfo.length == 1) { + configs.url.BuilderProjects.$Ajax({ + callback: function (msg) { + if (msg.IsSuccess) { + "生成成功".$Alert(); + btnSearch.click(); + } + else { + msg.Data.$Alert(); + } + }, + data: { "model": JSON.stringify(gridInfo) } + }) + } else { + "请选择一条数据,只能是一条".$Alert(); + } +} \ No newline at end of file diff --git a/SoEasyPlatform/wwwroot/views/system/projectgroup.js b/SoEasyPlatform/wwwroot/views/system/projectgroup.js index 157c3435..77911bd7 100644 --- a/SoEasyPlatform/wwwroot/views/system/projectgroup.js +++ b/SoEasyPlatform/wwwroot/views/system/projectgroup.js @@ -118,21 +118,22 @@ btnProject.$Confirm({ title: "是否生成项目", ok: function () { var gridInfo = divGrid.$GridInfo(); - if (gridInfo.length == 0) { - configs.url.BuilderProjects.$Ajax({ - callback: function (msg) { - if (msg.IsSuccess) { - "生成成功".$Alert(); - btnSearch.click(); - } - else { - msg.Data.$Alert(); - } - }, - data: { "model": JSON.stringify(gridInfo) } - }) + if (gridInfo.length == 1) { + //configs.url.BuilderProjects.$Ajax({ + // callback: function (msg) { + // if (msg.IsSuccess) { + // "生成成功".$Alert(); + // btnSearch.click(); + // } + // else { + // msg.Data.$Alert(); + // } + // }, + // data: { "model": JSON.stringify(gridInfo) } + //}) + window.location.href = "/all?id=" + gridInfo[0].Id + "&name=" + encodeURI(gridInfo[0].Name); } else { - "请选择一条数据".$Alert(); + "请选择一条数据,只能是一条".$Alert(); } } }) From 1a02116e1ab45c3bacd549c27549269317d2c277 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 17:08:06 +0800 Subject: [PATCH 082/225] =?UTF-8?q?=E4=B8=80=E9=94=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Pages/All.cshtml | 4 +-- SoEasyPlatform/Pages/Solution.cshtml | 2 +- .../wwwroot/views/system/projectgroup.js | 36 ++++++++----------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/SoEasyPlatform/Pages/All.cshtml b/SoEasyPlatform/Pages/All.cshtml index efd3c97f..34953f4c 100644 --- a/SoEasyPlatform/Pages/All.cshtml +++ b/SoEasyPlatform/Pages/All.cshtml @@ -69,8 +69,8 @@
- - + +
diff --git a/SoEasyPlatform/Pages/Solution.cshtml b/SoEasyPlatform/Pages/Solution.cshtml index 70ff2d49..d6d76952 100644 --- a/SoEasyPlatform/Pages/Solution.cshtml +++ b/SoEasyPlatform/Pages/Solution.cshtml @@ -27,7 +27,7 @@ - +
diff --git a/SoEasyPlatform/wwwroot/views/system/projectgroup.js b/SoEasyPlatform/wwwroot/views/system/projectgroup.js index 77911bd7..d31d3fc3 100644 --- a/SoEasyPlatform/wwwroot/views/system/projectgroup.js +++ b/SoEasyPlatform/wwwroot/views/system/projectgroup.js @@ -114,29 +114,21 @@ btnEdit.$Open("#divOpen", { btn: ['保存', '关闭'] }); -btnProject.$Confirm({ - title: "是否生成项目", - ok: function () { - var gridInfo = divGrid.$GridInfo(); - if (gridInfo.length == 1) { - //configs.url.BuilderProjects.$Ajax({ - // callback: function (msg) { - // if (msg.IsSuccess) { - // "生成成功".$Alert(); - // btnSearch.click(); - // } - // else { - // msg.Data.$Alert(); - // } - // }, - // data: { "model": JSON.stringify(gridInfo) } - //}) - window.location.href = "/all?id=" + gridInfo[0].Id + "&name=" + encodeURI(gridInfo[0].Name); - } else { - "请选择一条数据,只能是一条".$Alert(); - } +btnProject.onclick = function () +{ + var gridInfo = divGrid.$GridInfo(); + if (gridInfo.length == 1) + { + window.location.href = "/all?id=" + gridInfo[0].Id + "&name=" + encodeURI(gridInfo[0].Name); } -}) + else if (gridInfo.length == 0) + { + "请选择一条数据".$Alert(); + } + else { + "只能选择一个方案组".$Alert(); + } +} btnDel.$Confirm({ title: "是否删除记录", ok: function () { From 4c3c0b34718e006e71101bb385c7a1ceb5aed112 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 17:59:31 +0800 Subject: [PATCH 083/225] =?UTF-8?q?=E4=B8=80=E9=94=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=90=8C=E6=97=B6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=B9=E6=A1=88=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectGroupApp/ProjectGroupController.cs | 32 ++++++++++++++++--- .../wwwroot/views/system/BuilderAll.js | 2 +- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs index 5f87cd7c..f9832ed5 100644 --- a/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs +++ b/SoEasyPlatform/Apis/ProjectGroupApp/ProjectGroupController.cs @@ -90,15 +90,39 @@ public ActionResult> SaveProjectGroup([FromForm] ProjectGroupV /// [HttpPost] [Route("BuilderProjects")] - public ActionResult> BuilderProjects([FromForm] string model) + public ActionResult> BuilderProjects([FromForm] string model, [FromForm] int pgid, [FromForm] int dbid) { var result = new ApiResult(); if (!string.IsNullOrEmpty(model)) { - var list = Newtonsoft.Json.JsonConvert.DeserializeObject>(model); - var id = list.First().Id; - var group = Db.Queryable().InSingle(id); + var group = Db.Queryable().InSingle(pgid); var projectids = group.ProjectIds; + var list= Db.Queryable().In(projectids).OrderBy(it => it.ModelId).ToList(); + try + { + Db.BeginTran(); + foreach (var item in list) + { + var name = System.IO.Path.GetFileName(item.Path); + item.Path = System.IO.Path.Combine(group.SolutionPath,name); + Db.Updateable(item).ExecuteCommand(); + new CodeTableController(null).CreateFileByProjectId(new ProjectViewModel2 + { + + Tables = model, + ProjectId = item.Id, + DbId = dbid, + ModelId = item.ModelId + }, list.Last() == item); + } + //Db.Updateable(list).ExecuteCommand(); + Db.CommitTran(); + } + catch (Exception ex) + { + Db.RollbackTran(); + throw ex; + } } result.IsSuccess = true; return result; diff --git a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js index c5e22d86..553be4d0 100644 --- a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js +++ b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js @@ -22,7 +22,7 @@ btnProjectGroup.onclick = function () msg.Data.$Alert(); } }, - data: { "model": JSON.stringify(gridInfo) } + data: { "model": JSON.stringify(gridInfo), pgid: hidProjectGroupid.value, dbid:txtDbId.value} }) } else { "请选择一条数据,只能是一条".$Alert(); From 7523b17e16ec559effbe003bb87ec61b2f0757bd Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 18:09:14 +0800 Subject: [PATCH 084/225] =?UTF-8?q?=E6=B7=BB=E5=8A=A0loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/wwwroot/views/system/BuilderAll.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js index 553be4d0..83e38bfb 100644 --- a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js +++ b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js @@ -12,6 +12,7 @@ btnProjectGroup.onclick = function () { var gridInfo = divGrid.$GridInfo(); if (gridInfo.length == 1) { + btnProjectGroup.$Loading(); configs.url.BuilderProjects.$Ajax({ callback: function (msg) { if (msg.IsSuccess) { @@ -21,6 +22,7 @@ btnProjectGroup.onclick = function () else { msg.Data.$Alert(); } + btnProjectGroup.$CloseLoading(); }, data: { "model": JSON.stringify(gridInfo), pgid: hidProjectGroupid.value, dbid:txtDbId.value} }) From d73fdad78ffa1a5d5bc836a4fe8b5552a69bcee8 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 18:28:34 +0800 Subject: [PATCH 085/225] =?UTF-8?q?=E6=96=B9=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/build/images/studentproject.png | Bin 0 -> 35887 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 SoEasyPlatform/wwwroot/build/images/studentproject.png diff --git a/SoEasyPlatform/wwwroot/build/images/studentproject.png b/SoEasyPlatform/wwwroot/build/images/studentproject.png new file mode 100644 index 0000000000000000000000000000000000000000..57b8d658308366fec3aa4b799b4c21ff990af06c GIT binary patch literal 35887 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

c$$*nN+ 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 literal 0 HcmV?d00001 From 1cb079c7d4d633404489e0b644cda381c5e9bdae Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 18:28:43 +0800 Subject: [PATCH 086/225] =?UTF-8?q?=E6=96=B9=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Pages/Project.cshtml | 6 +++--- SoEasyPlatform/Startup.cs | 2 +- .../wwwroot/views/system/project.js | 21 +++++++++++++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/SoEasyPlatform/Pages/Project.cshtml b/SoEasyPlatform/Pages/Project.cshtml index aac3ed94..30042967 100644 --- a/SoEasyPlatform/Pages/Project.cshtml +++ b/SoEasyPlatform/Pages/Project.cshtml @@ -29,8 +29,8 @@

- - + +
@@ -38,6 +38,6 @@
diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 814cf229..fa2d6e19 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.34131111"; + public static string Version = "1.35"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/project.js b/SoEasyPlatform/wwwroot/views/system/project.js index afeac047..a9a436b6 100644 --- a/SoEasyPlatform/wwwroot/views/system/project.js +++ b/SoEasyPlatform/wwwroot/views/system/project.js @@ -12,7 +12,7 @@ }, w: { w: 600, - h:450 + h:550 } }; divFrom.$Form({ @@ -71,4 +71,21 @@ btnDel.$Confirm({ } }) - +btnAdd.$Open("#divOpen", { + title: "添加方案教程", + w: configs.w.w, + h: configs.w.h, + validate: function () { + + }, + btn: [ '关闭'] +}); +btnEdit.$Open("#divOpen", { + title: "修改方案教程", + w: configs.w.w, + h: configs.w.h, + validate: function () { + + }, + btn: [ '关闭'] +}); \ No newline at end of file From 539f64d9e8e05a403e92d92df4e876c2b9160f97 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 18:38:19 +0800 Subject: [PATCH 087/225] =?UTF-8?q?=E5=88=97=E6=96=B0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=95=B0=E6=8D=AESqlSugar=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Code/AppStart/InitTable.cs | 6 +++--- SoEasyPlatform/wwwroot/template/Lib1_1.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SoEasyPlatform/Code/AppStart/InitTable.cs b/SoEasyPlatform/Code/AppStart/InitTable.cs index 14722929..df507a3c 100644 --- a/SoEasyPlatform/Code/AppStart/InitTable.cs +++ b/SoEasyPlatform/Code/AppStart/InitTable.cs @@ -87,7 +87,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _entitytempId + "", - FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" }]}]", + FileModel = "[{ \"name\":\"" + _defaultNamespace + ".Entities\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.7.8\" }]}]", FileInfo = _net5lib + "", NameFormat = "DbModels\\{0}", ProjentName = "[简单三层]_方案_实体_Sugar", @@ -101,7 +101,7 @@ private void InitProject(SqlSugarClient db) FileSuffix = ".cs", NameFormat = "Services\\{0}Manager", TemplateId1 = _biztempId + "", - FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", + FileModel = "[{ \"name\":\""+_defaultNamespace+ ".Services\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.7.8\" }]},{\"name\":\"Repository\", \"name_space\":\"" + _defaultNamespace+ ".Services\" }]", FileInfo = _net5lib + ","+_dbcontext, ProjentName = "[简单三层]_方案_业务_Sugar", Path = @"c:\" + _defaultNamespace + @"\Services", @@ -114,7 +114,7 @@ private void InitProject(SqlSugarClient db) { FileSuffix = ".cs", TemplateId1 = _webtempId + "", - FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.6.4\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), + FileModel = "[{ \"name\":\"命名空间\",\"nuget\":[{ \"name\":\"SqlSugarCore\",\"version\":\"5.0.7.8\" },{ \"name\":\"Microsoft.AspNetCore.Mvc.NewtonsoftJson\",\"version\":\"5.0.10\" },{ \"name\":\"Swashbuckle.AspNetCore\",\"version\":\"5.6.3\" }]},{\"name\":\"Startup\", \"name_space\":\"命名空间\" },{\"name\":\"Program\", \"name_space\":\"命名空间\" },{\"name\":\"appsettings\", \"name_space\":\"命名空间\"}]".Replace("命名空间",$"{_defaultNamespace}.Api"), FileInfo =string.Join(",",_WebFiles), ProjentName = "[简单三层]_方案_前端_Sugar", NameFormat = "Controllers\\{0}Controller", diff --git a/SoEasyPlatform/wwwroot/template/Lib1_1.txt b/SoEasyPlatform/wwwroot/template/Lib1_1.txt index 06bd60a0..69de0a64 100644 --- a/SoEasyPlatform/wwwroot/template/Lib1_1.txt +++ b/SoEasyPlatform/wwwroot/template/Lib1_1.txt @@ -1 +1 @@ -{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.6.4" }]} \ No newline at end of file +{ "name":"命名空间类库名","nuget":[{ "name":"SqlSugarCore","version":"5.0.7.8" }]} \ No newline at end of file From 9a3463600ae225f2a2b944996237e088c51256dc Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 May 2022 19:46:21 +0800 Subject: [PATCH 088/225] BUG --- SoEasyPlatform/wwwroot/views/system/BuilderAll.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js index 83e38bfb..3bfdb321 100644 --- a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js +++ b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js @@ -11,7 +11,7 @@ btnBack.onclick = function () { btnProjectGroup.onclick = function () { var gridInfo = divGrid.$GridInfo(); - if (gridInfo.length == 1) { + if (gridInfo.length >0) { btnProjectGroup.$Loading(); configs.url.BuilderProjects.$Ajax({ callback: function (msg) { @@ -27,6 +27,6 @@ btnProjectGroup.onclick = function () data: { "model": JSON.stringify(gridInfo), pgid: hidProjectGroupid.value, dbid:txtDbId.value} }) } else { - "请选择一条数据,只能是一条".$Alert(); + "请选择一条数据".$Alert(); } } \ No newline at end of file From 5084458eba6281c0885c220f62187440bc4e5454 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 9 May 2022 11:27:53 +0800 Subject: [PATCH 089/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Pages/CodeFirst.cshtml | 4 ++-- SoEasyPlatform/Pages/Shared/_CodeTable.cshtml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SoEasyPlatform/Pages/CodeFirst.cshtml b/SoEasyPlatform/Pages/CodeFirst.cshtml index 93ca68dd..50a94de4 100644 --- a/SoEasyPlatform/Pages/CodeFirst.cshtml +++ b/SoEasyPlatform/Pages/CodeFirst.cshtml @@ -98,7 +98,7 @@
- +
@@ -111,7 +111,7 @@
- +
diff --git a/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml b/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml index 5101b881..14987739 100644 --- a/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml +++ b/SoEasyPlatform/Pages/Shared/_CodeTable.cshtml @@ -76,7 +76,7 @@
- +
@@ -89,7 +89,7 @@
- +
From 2eb06908bdcc743dccb3c6ebe84308cc18182e00 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 9 May 2022 11:30:58 +0800 Subject: [PATCH 090/225] - --- SoEasyPlatform/Models/ViewModel/ProjectGroupViewModel.cs | 4 ++-- SoEasyPlatform/Pages/Solution.cshtml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SoEasyPlatform/Models/ViewModel/ProjectGroupViewModel.cs b/SoEasyPlatform/Models/ViewModel/ProjectGroupViewModel.cs index 6faa2858..fbc1bc9d 100644 --- a/SoEasyPlatform/Models/ViewModel/ProjectGroupViewModel.cs +++ b/SoEasyPlatform/Models/ViewModel/ProjectGroupViewModel.cs @@ -8,7 +8,7 @@ public class ProjectGroupViewModel : PageViewModel, IView [PropertyName("名称")] public string Name { get; set; } [ValidateReduired()] - [PropertyName("统一路径,会替换私有路径")] + [PropertyName("生成会更新方案中的主目录")] public string SolutionPath { get; set; } [ValidateReduired()] [PropertyName("方案集合")] @@ -23,7 +23,7 @@ public class ProjectGroupGridViewModel public int? Id { get; set; } [DisplayName("名称")] public string Name { get; set; } - [DisplayName("统一路径,会替换私有路径")] + [DisplayName("生成会更新方案中的主目录")] public string SolutionPath { get; set; } [DisplayName("方案集合")] public string ProjectNames { get; set; } diff --git a/SoEasyPlatform/Pages/Solution.cshtml b/SoEasyPlatform/Pages/Solution.cshtml index d6d76952..e8c36bfd 100644 --- a/SoEasyPlatform/Pages/Solution.cshtml +++ b/SoEasyPlatform/Pages/Solution.cshtml @@ -51,10 +51,10 @@
- +
-

生成解决方案时强制所有方案使用当前新路径

+

生成会更新方案中的主目录

From 0cdcf12d67b311a4f78cc40b31c843000c995785 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 9 May 2022 11:36:20 +0800 Subject: [PATCH 091/225] =?UTF-8?q?=E4=BF=AE=E5=8C=96=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/CodeTable.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index fa2d6e19..5b6be389 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.35"; + public static string Version = "1.36"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/CodeTable.js b/SoEasyPlatform/wwwroot/views/system/CodeTable.js index 6509d84c..50f66b4a 100644 --- a/SoEasyPlatform/wwwroot/views/system/CodeTable.js +++ b/SoEasyPlatform/wwwroot/views/system/CodeTable.js @@ -351,7 +351,7 @@ btnTable.$Open("#divDiff", { btnPath.$Open("#divPath", { title: configs.text.addPath, - w: 600, + w: 680, h: 600, validate: function () { var gridInfo = divGrid.$GridInfo(); @@ -405,7 +405,7 @@ btnPath.$Open("#divPath", { btnPathEdit.$Open("#divPath", { title: configs.text.EditPath, - w: 600, + w: 680, h: 600, validate: function () { var gridInfo = divGrid.$GridInfo(); From c8cf657e34ff04f2e0eb169289bd66d159822d92 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 9 May 2022 12:50:57 +0800 Subject: [PATCH 092/225] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/Pages/Solution.cshtml | 2 +- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/projectgroup.js | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/SoEasyPlatform/Pages/Solution.cshtml b/SoEasyPlatform/Pages/Solution.cshtml index e8c36bfd..0ddbf18d 100644 --- a/SoEasyPlatform/Pages/Solution.cshtml +++ b/SoEasyPlatform/Pages/Solution.cshtml @@ -44,7 +44,7 @@
- +
diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 5b6be389..59c80404 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.36"; + public static string Version = "1.361"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/projectgroup.js b/SoEasyPlatform/wwwroot/views/system/projectgroup.js index d31d3fc3..932955d9 100644 --- a/SoEasyPlatform/wwwroot/views/system/projectgroup.js +++ b/SoEasyPlatform/wwwroot/views/system/projectgroup.js @@ -8,7 +8,8 @@ }, text: { - add: "添加类型" + add: "添加一键生成", + edit:"修改一键生成" }, w: { w: 750, From da0e005dfc8d357976b19a0275fb83ab5d349cb6 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 19 May 2022 23:08:11 +0800 Subject: [PATCH 093/225] - --- SoEasyPlatform/Pages/All.cshtml | 5 +++-- SoEasyPlatform/Startup.cs | 2 +- SoEasyPlatform/wwwroot/views/system/BuilderAll.js | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/SoEasyPlatform/Pages/All.cshtml b/SoEasyPlatform/Pages/All.cshtml index 34953f4c..570804b7 100644 --- a/SoEasyPlatform/Pages/All.cshtml +++ b/SoEasyPlatform/Pages/All.cshtml @@ -69,8 +69,9 @@
- - + + +
diff --git a/SoEasyPlatform/Startup.cs b/SoEasyPlatform/Startup.cs index 59c80404..7e673932 100644 --- a/SoEasyPlatform/Startup.cs +++ b/SoEasyPlatform/Startup.cs @@ -24,7 +24,7 @@ public class Startup /// /// 汾 /// - public static string Version = "1.361"; + public static string Version = "1.4"; /// /// ӿĿ¼ /// diff --git a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js index 3bfdb321..fa658d5b 100644 --- a/SoEasyPlatform/wwwroot/views/system/BuilderAll.js +++ b/SoEasyPlatform/wwwroot/views/system/BuilderAll.js @@ -4,7 +4,9 @@ var configs = { BuilderProjects: _root + "projectgroup/BuilderProjects" } }; - +btnStudent.onclick = function () { + "用该功能之前需要先配置实体(菜单3种方式)".$Alert(); +} btnBack.onclick = function () { window.location.href = "/Solution"; } From 22d31536bc385905231916e410aeaa85a741535c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 19 May 2022 23:10:09 +0800 Subject: [PATCH 094/225] =?UTF-8?q?=E6=9B=B4=E6=96=B0sqlsugar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SoEasyPlatform/SoEasyPlatform.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SoEasyPlatform/SoEasyPlatform.csproj b/SoEasyPlatform/SoEasyPlatform.csproj index 40cbfc3e..ad124d4d 100644 --- a/SoEasyPlatform/SoEasyPlatform.csproj +++ b/SoEasyPlatform/SoEasyPlatform.csproj @@ -50,7 +50,7 @@ - + From 456e24562b459e6744081949dd3a79dc46970787 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:22:12 +0000 Subject: [PATCH 095/225] update README.md. --- README.md | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/README.md b/README.md index 9456e27e..870a5b0b 100644 --- a/README.md +++ b/README.md @@ -9,22 +9,9 @@ **如何交流、反馈、参与贡献?** -- Github: https://github.com/donet5/WebFirst -- OSC Gitee:https://gitee.com/sunkaixuan/web-first -- [果糖官网] https://www.donet5.com/ -- [使用文档] https://www.donet5.com/Doc/11 +- [官方文档] https://www.donet5.com/Doc/11 - [可执行exe文件下载] https://www.donet5.com/Doc/11/2388 - 官方QQ群:958343000 - 技术讨论、二次开发等咨询、问题和建议,请移步到果糖网,我会在第一时间进行解答和回复 - 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持 -- 微信扫码加好友【果糖网】,与作者互动

-![输入图片说明](https://www.donet5.com/_theme/img/addWX.jpg "加微信") - **本地部署代码生成器** -- 通过git下载源码 -- F5直接运行项目 -- 安装VS2019 c#,则可启动项目 -- 项目访问路径:默认 - -**代码生成器演示效果图:** -![输入图片说明](https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20211001/6376869443519224327257971.png "用例") From 98d7d075de9f66911230ff82d67051640c8acc90 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:27:33 +0000 Subject: [PATCH 096/225] update README.md. --- README.md | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 870a5b0b..0123e050 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,29 @@ -**WebFirst 代码生成器** +## 框架描述-代码生成器 +WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 , -- 在线生成entity、xml、dao、service、html、js、sql代码,减少70%以上的开发任务 -- 可以在线创建数据库和导出文档 -- 可在线建类并且生成表 -- 支持方案保存,模版管理 -- 超级流畅的性能 -
+具体功能如下: +1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 +2、导出EXCEL文档,把每个表的数据导出来 +3、模版管理 可以自个添加修改模版,使用的是Razor模版引擎对C#程序员更加友好 +4、方案管理,可以创建自已的生成方案,修改方案 +5、支持扩展模版属性,支持生成更加丰富的前端代码 +6、支持生成解决方案 +7、支持生成附加文件,支持文件后缀 +8、支持视图 +9、支持自定义数据类型 +10、支持多种数据库 MYSQL PGSQL SQLITE SQLSERVE ORCLE 达梦 + +## 功能特色 +1、生成器与你具体的项目解耦,可以独立管理多个解决方案 +2、支持一键生成多个解决方案 +3、支持EXE方式和Web方式部署 +## 使用场景-代码生成器 -**如何交流、反馈、参与贡献?** -- [官方文档] https://www.donet5.com/Doc/11 -- [可执行exe文件下载] https://www.donet5.com/Doc/11/2388 -- 官方QQ群:958343000 -- 技术讨论、二次开发等咨询、问题和建议,请移步到果糖网,我会在第一时间进行解答和回复 -- 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持 +1、提高工作效率 +我们都知道一个CRUD其实如果有代码生成器的话只需要几分钟就可以把完整的功能做完,如果用手去写那么可能就要花掉一整天的时间,多出来的这些时间学学技术多好 + +2、大量重复有共性的功能 + +使用代码生成器最重要的就是减少大量重复的工作,比如我们有 数据库model 有表单model 有Grid绑定的 model 光写这些MODEL就很头痛,要写各种特性 \ No newline at end of file From 027a4d1e66f4748504d3804c7a0e13d9a70bf37e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:27:51 +0000 Subject: [PATCH 097/225] update README.md. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 0123e050..1dfaa7ed 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,23 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 具体功能如下: 1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 + 2、导出EXCEL文档,把每个表的数据导出来 + 3、模版管理 可以自个添加修改模版,使用的是Razor模版引擎对C#程序员更加友好 + 4、方案管理,可以创建自已的生成方案,修改方案 + 5、支持扩展模版属性,支持生成更加丰富的前端代码 + 6、支持生成解决方案 + 7、支持生成附加文件,支持文件后缀 + 8、支持视图 + 9、支持自定义数据类型 + 10、支持多种数据库 MYSQL PGSQL SQLITE SQLSERVE ORCLE 达梦 ## 功能特色 From e9570f9e19fa7ebab093e7dcfa3d7411c9e2487c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:30:34 +0000 Subject: [PATCH 098/225] update README.md. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1dfaa7ed..6178c876 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ ## 框架描述-代码生成器 WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 , +![输入图片说明](https://www.donet5.com//_theme/ueditor/utf8-net/net/upload/image/20211009/6376941449795119979562201.png "用例") + 具体功能如下: 1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 From 059b56a48078c91c16e7217776c8a85bd1edb888 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:32:22 +0000 Subject: [PATCH 099/225] update README.md. --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6178c876..c8840527 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 2、支持一键生成多个解决方案 3、支持EXE方式和Web方式部署 -## 使用场景-代码生成器 +## 使用场景 1、提高工作效率 @@ -37,4 +37,7 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 2、大量重复有共性的功能 -使用代码生成器最重要的就是减少大量重复的工作,比如我们有 数据库model 有表单model 有Grid绑定的 model 光写这些MODEL就很头痛,要写各种特性 \ No newline at end of file +使用代码生成器最重要的就是减少大量重复的工作,比如我们有 数据库model 有表单model 有Grid绑定的 model 光写这些MODEL就很头痛,要写各种特性 + +## 下载软件 +[WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) From 4797ab9b0bb910ff19b5f841cea1fed2c4b789ee Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:33:15 +0000 Subject: [PATCH 100/225] update README.md. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c8840527..b9a13497 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,6 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& ## 下载软件 [WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) + +## QQ群效流 +QQ交流群:958343000 From 6e3ecf3bda8e60ad68c247d371bdbb10b720b56e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:34:20 +0000 Subject: [PATCH 101/225] update README.md. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9a13497..0becb626 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ -## 框架描述-代码生成器 +## 框架描述 WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 , ![输入图片说明](https://www.donet5.com//_theme/ueditor/utf8-net/net/upload/image/20211009/6376941449795119979562201.png "用例") -具体功能如下: +###具体功能如下: + 1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 2、导出EXCEL文档,把每个表的数据导出来 From 9c778714e3f541c6e64140ab6b36b778b5fa2244 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:34:46 +0000 Subject: [PATCH 102/225] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0becb626..7b64f232 100644 --- a/README.md +++ b/README.md @@ -43,5 +43,5 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& ## 下载软件 [WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) -## QQ群效流 +## QQ群交流 QQ交流群:958343000 From 7daca4582b081baabd6a0673419cf2bb5a588298 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:41:03 +0000 Subject: [PATCH 103/225] update README.md. --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 7b64f232..a620d14a 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,18 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 使用代码生成器最重要的就是减少大量重复的工作,比如我们有 数据库model 有表单model 有Grid绑定的 model 光写这些MODEL就很头痛,要写各种特性 +## 使用教程 +### 配置实体 +1、通过数据库导入实体: 菜单【配置实体(表建类模式)】 +2、在线建实体 : 菜单【配置实体(类建表模式)】 +3、通过SQL建实体: 菜单【配置实体(视图模式)】 +### 一键生成 +配置实体就可以使用自带的一键生成功能生成用例代码,通过自带的配置去学习是最佳入手点 +### 方案 +一键生成可以生成多个方案,也就是说 我们需要生成代码就需要建立一个方案 +### 模版 +方案里面有 路径 、模版等等参数,一个方案只能用一个生成模版,模版是RAZOR引擎,可以设置替换标签 + ## 下载软件 [WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) From 5b780da4479d6b54738f56ada5c02eed3ef47a67 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:41:30 +0000 Subject: [PATCH 104/225] update README.md. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a620d14a..5f39722d 100644 --- a/README.md +++ b/README.md @@ -47,9 +47,9 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 3、通过SQL建实体: 菜单【配置实体(视图模式)】 ### 一键生成 配置实体就可以使用自带的一键生成功能生成用例代码,通过自带的配置去学习是最佳入手点 -### 方案 +### 方案管理 一键生成可以生成多个方案,也就是说 我们需要生成代码就需要建立一个方案 -### 模版 +### 模版管理 方案里面有 路径 、模版等等参数,一个方案只能用一个生成模版,模版是RAZOR引擎,可以设置替换标签 ## 下载软件 From a40aefe5870a122d62380571061bea2e96d6b043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=B3=96=E7=BD=91?= <610262374@qq.com> Date: Sat, 21 May 2022 22:46:05 +0800 Subject: [PATCH 105/225] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5f39722d..94d91c5c 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,9 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& ## 使用教程 ### 配置实体 1、通过数据库导入实体: 菜单【配置实体(表建类模式)】 + 2、在线建实体 : 菜单【配置实体(类建表模式)】 + 3、通过SQL建实体: 菜单【配置实体(视图模式)】 ### 一键生成 配置实体就可以使用自带的一键生成功能生成用例代码,通过自带的配置去学习是最佳入手点 From fe6e2fe51729d16dce746b2a54ff77f2d9a35a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=B3=96=E7=BD=91?= <610262374@qq.com> Date: Sat, 21 May 2022 22:46:44 +0800 Subject: [PATCH 106/225] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94d91c5c..73cdfeb4 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& ![输入图片说明](https://www.donet5.com//_theme/ueditor/utf8-net/net/upload/image/20211009/6376941449795119979562201.png "用例") -###具体功能如下: +### 具体功能如下: 1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 From 5b7775871bcb3f3fc3c1c339dd5802e8a940b2ea Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:51:56 +0000 Subject: [PATCH 107/225] update README.md. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 73cdfeb4..b8616d33 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ ## 框架描述 -WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 , +WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 +### 图片预览 ![输入图片说明](https://www.donet5.com//_theme/ueditor/utf8-net/net/upload/image/20211009/6376941449795119979562201.png "用例") -### 具体功能如下: +### 功能预览 1、 建库、CodeFirst方式在线建表,没用到CodeFirst的用户可以用工具轻松体验,支持公共字段 From 97c71ba085cc7b23627c4e5e59db30def8452967 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:52:29 +0000 Subject: [PATCH 108/225] update README.md. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b8616d33..67deddb5 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,11 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 10、支持多种数据库 MYSQL PGSQL SQLITE SQLSERVE ORCLE 达梦 -## 功能特色 +### 功能特色 1、生成器与你具体的项目解耦,可以独立管理多个解决方案 + 2、支持一键生成多个解决方案 + 3、支持EXE方式和Web方式部署 ## 使用场景 From 964dc404319f8557e0d977c517a677979ac121e6 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 14:59:15 +0000 Subject: [PATCH 109/225] update README.md. --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 67deddb5..27848448 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,12 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& 3、通过SQL建实体: 菜单【配置实体(视图模式)】 ### 一键生成 -配置实体就可以使用自带的一键生成功能生成用例代码,通过自带的配置去学习是最佳入手点 +配置实体后就可以使用自带的一键生成功能来生成用例代码,通过自带方案和模版的配置可以快速了解框架 ### 方案管理 -一键生成可以生成多个方案,也就是说 我们需要生成代码就需要建立一个方案 +一键生成可以生成多个方案,方案 包含: 模版、路径、生成文件等 可以理解为某个模版的生成配置 ### 模版管理 -方案里面有 路径 、模版等等参数,一个方案只能用一个生成模版,模版是RAZOR引擎,可以设置替换标签 +模版是方案的一个重要参数,他用来控制生成代码的格式 + ## 下载软件 [WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) From 7c379bd1f7afaeff5c62442fab837e50eba8eb3b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 21 May 2022 15:03:08 +0000 Subject: [PATCH 110/225] update README.md. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 27848448..15a8950f 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,9 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& ### 一键生成 配置实体后就可以使用自带的一键生成功能来生成用例代码,通过自带方案和模版的配置可以快速了解框架 ### 方案管理 -一键生成可以生成多个方案,方案 包含: 模版、路径、生成文件等 可以理解为某个模版的生成配置 +一键生成可以生成多个方案,方案 包含: 模版、路径、文件名、文件后缀 等 可以理解为某个模版的生成配置 ### 模版管理 -模版是方案的一个重要参数,他用来控制生成代码的格式 +模版是方案的一个重要参数,什么样的模版 生成什么样的文件内容,比如 实体类就编写实体类模版 ,业务就编写业务模版 ## 下载软件 From 14f0ddb0fe0d4237b986e102553e8e017647ecf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=B3=96=E7=BD=91?= <610262374@qq.com> Date: Sat, 11 Jun 2022 15:02:11 +0800 Subject: [PATCH 111/225] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 15a8950f..60961fb9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## 框架描述 -WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 +WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器&数据库设计工具,由.net core + sqlsugar 开发 导入1000个表只要1-2秒,用法简单,功能强大,支持多种数据库 ### 图片预览 ![输入图片说明](https://www.donet5.com//_theme/ueditor/utf8-net/net/upload/image/20211009/6376941449795119979562201.png "用例") @@ -62,4 +62,4 @@ WebFirst 是果糖大数据团队开发的新一代 高性能 代码生成器& [WebFirst最新版本下载](https://www.donet5.com/Doc/11/2388) ## QQ群交流 -QQ交流群:958343000 +QQ交流群: 958343000 From e78433d5accbbd9bc46671b9cf395e3d2b37c8ef Mon Sep 17 00:00:00 2001 From: met Date: Fri, 17 Jun 2022 13:56:47 +0800 Subject: [PATCH 112/225] =?UTF-8?q?1.=E4=BB=A3=E7=A0=81=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0monaco-editor=202.=E5=8D=87=E7=BA=A7=E5=88=B0?= =?UTF-8?q?6.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Apis/CodeTableApp/CodeTableController.cs | 2 +- SoEasyPlatform/Code/AppStart/Services.cs | 12 +- SoEasyPlatform/Pages/Template.cshtml | 4 +- SoEasyPlatform/Program.cs | 44 +- SoEasyPlatform/SoEasyPlatform.csproj | 117 +- SoEasyPlatform/Startup.cs | 66 +- .../monaco-editor/csharpLanguageProvider.js | 92 + .../vendors/monaco-editor/monaco-editor.html | 49 + .../browser/ui/codicons/codicon/codicon.ttf | Bin 0 -> 70776 bytes .../vs/base/worker/workerMain.js | 22 + .../vs/basic-languages/abap/abap.js | 10 + .../vs/basic-languages/apex/apex.js | 10 + .../vs/basic-languages/azcli/azcli.js | 10 + .../vs/basic-languages/bat/bat.js | 10 + .../vs/basic-languages/bicep/bicep.js | 11 + .../vs/basic-languages/cameligo/cameligo.js | 10 + .../vs/basic-languages/clojure/clojure.js | 10 + .../vs/basic-languages/coffee/coffee.js | 10 + .../vs/basic-languages/cpp/cpp.js | 10 + .../vs/basic-languages/csharp/csharp.js | 10 + .../vs/basic-languages/csp/csp.js | 10 + .../vs/basic-languages/css/css.js | 12 + .../vs/basic-languages/dart/dart.js | 10 + .../basic-languages/dockerfile/dockerfile.js | 10 + .../vs/basic-languages/ecl/ecl.js | 10 + .../vs/basic-languages/elixir/elixir.js | 10 + .../vs/basic-languages/flow9/flow9.js | 10 + .../freemarker2/freemarker2.js | 12 + .../vs/basic-languages/fsharp/fsharp.js | 10 + .../monaco-editor/vs/basic-languages/go/go.js | 10 + .../vs/basic-languages/graphql/graphql.js | 10 + .../basic-languages/handlebars/handlebars.js | 10 + .../vs/basic-languages/hcl/hcl.js | 10 + .../vs/basic-languages/html/html.js | 10 + .../vs/basic-languages/ini/ini.js | 10 + .../vs/basic-languages/java/java.js | 10 + .../basic-languages/javascript/javascript.js | 10 + .../vs/basic-languages/julia/julia.js | 10 + .../vs/basic-languages/kotlin/kotlin.js | 10 + .../vs/basic-languages/less/less.js | 11 + .../vs/basic-languages/lexon/lexon.js | 10 + .../vs/basic-languages/liquid/liquid.js | 10 + .../vs/basic-languages/lua/lua.js | 10 + .../monaco-editor/vs/basic-languages/m3/m3.js | 10 + .../vs/basic-languages/markdown/markdown.js | 10 + .../vs/basic-languages/mips/mips.js | 10 + .../vs/basic-languages/msdax/msdax.js | 10 + .../vs/basic-languages/mysql/mysql.js | 10 + .../objective-c/objective-c.js | 10 + .../vs/basic-languages/pascal/pascal.js | 10 + .../vs/basic-languages/pascaligo/pascaligo.js | 10 + .../vs/basic-languages/perl/perl.js | 10 + .../vs/basic-languages/pgsql/pgsql.js | 10 + .../vs/basic-languages/php/php.js | 10 + .../vs/basic-languages/pla/pla.js | 10 + .../vs/basic-languages/postiats/postiats.js | 10 + .../basic-languages/powerquery/powerquery.js | 10 + .../basic-languages/powershell/powershell.js | 10 + .../vs/basic-languages/protobuf/protobuf.js | 11 + .../vs/basic-languages/pug/pug.js | 10 + .../vs/basic-languages/python/python.js | 10 + .../vs/basic-languages/qsharp/qsharp.js | 10 + .../monaco-editor/vs/basic-languages/r/r.js | 10 + .../vs/basic-languages/razor/razor.js | 10 + .../vs/basic-languages/redis/redis.js | 10 + .../vs/basic-languages/redshift/redshift.js | 10 + .../restructuredtext/restructuredtext.js | 10 + .../vs/basic-languages/ruby/ruby.js | 10 + .../vs/basic-languages/rust/rust.js | 10 + .../monaco-editor/vs/basic-languages/sb/sb.js | 10 + .../vs/basic-languages/scala/scala.js | 10 + .../vs/basic-languages/scheme/scheme.js | 10 + .../vs/basic-languages/scss/scss.js | 12 + .../vs/basic-languages/shell/shell.js | 10 + .../vs/basic-languages/solidity/solidity.js | 10 + .../vs/basic-languages/sophia/sophia.js | 10 + .../vs/basic-languages/sparql/sparql.js | 10 + .../vs/basic-languages/sql/sql.js | 10 + .../monaco-editor/vs/basic-languages/st/st.js | 10 + .../vs/basic-languages/swift/swift.js | 13 + .../systemverilog/systemverilog.js | 10 + .../vs/basic-languages/tcl/tcl.js | 10 + .../vs/basic-languages/twig/twig.js | 10 + .../basic-languages/typescript/typescript.js | 10 + .../monaco-editor/vs/basic-languages/vb/vb.js | 10 + .../vs/basic-languages/xml/xml.js | 10 + .../vs/basic-languages/yaml/yaml.js | 10 + .../monaco-editor/vs/editor/editor.main.css | 6 + .../monaco-editor/vs/editor/editor.main.js | 805 + .../vs/editor/editor.main.nls.de.js | 29 + .../vs/editor/editor.main.nls.es.js | 29 + .../vs/editor/editor.main.nls.fr.js | 27 + .../vs/editor/editor.main.nls.it.js | 27 + .../vs/editor/editor.main.nls.ja.js | 29 + .../vs/editor/editor.main.nls.js | 27 + .../vs/editor/editor.main.nls.ko.js | 27 + .../vs/editor/editor.main.nls.ru.js | 29 + .../vs/editor/editor.main.nls.zh-cn.js | 29 + .../vs/editor/editor.main.nls.zh-tw.js | 27 + .../monaco-editor/vs/language/css/cssMode.js | 13 + .../vs/language/css/cssWorker.js | 63 + .../vs/language/html/htmlMode.js | 13 + .../vs/language/html/htmlWorker.js | 453 + .../vs/language/json/jsonMode.js | 15 + .../vs/language/json/jsonWorker.js | 36 + .../vs/language/typescript/tsMode.js | 20 + .../vs/language/typescript/tsWorker.js | 33970 ++++++++++++++++ .../vendors/monaco-editor/vs/loader.js | 11 + .../wwwroot/views/system/template.js | 4 + 109 files changed, 36775 insertions(+), 104 deletions(-) create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/csharpLanguageProvider.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/monaco-editor.html create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/base/worker/workerMain.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/abap/abap.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/apex/apex.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/azcli/azcli.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/bat/bat.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/bicep/bicep.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/cameligo/cameligo.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/clojure/clojure.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/coffee/coffee.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/cpp/cpp.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/csharp/csharp.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/csp/csp.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/css/css.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/dart/dart.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/dockerfile/dockerfile.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/ecl/ecl.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/elixir/elixir.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/flow9/flow9.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/freemarker2/freemarker2.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/fsharp/fsharp.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/go/go.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/graphql/graphql.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/handlebars/handlebars.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/hcl/hcl.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/html/html.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/ini/ini.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/java/java.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/javascript/javascript.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/julia/julia.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/kotlin/kotlin.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/less/less.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/lexon/lexon.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/liquid/liquid.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/lua/lua.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/m3/m3.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/markdown/markdown.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/mips/mips.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/msdax/msdax.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/mysql/mysql.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/objective-c/objective-c.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/pascal/pascal.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/pascaligo/pascaligo.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/perl/perl.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/pgsql/pgsql.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/php/php.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/pla/pla.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/postiats/postiats.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/powerquery/powerquery.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/powershell/powershell.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/protobuf/protobuf.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/pug/pug.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/python/python.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/qsharp/qsharp.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/r/r.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/razor/razor.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/redis/redis.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/redshift/redshift.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/restructuredtext/restructuredtext.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/ruby/ruby.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/rust/rust.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/sb/sb.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/scala/scala.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/scheme/scheme.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/scss/scss.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/shell/shell.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/solidity/solidity.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/sophia/sophia.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/sparql/sparql.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/sql/sql.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/st/st.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/swift/swift.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/systemverilog/systemverilog.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/tcl/tcl.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/twig/twig.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/typescript/typescript.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/vb/vb.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/xml/xml.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/basic-languages/yaml/yaml.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.css create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.de.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.es.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.fr.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.it.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.ja.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.ko.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.ru.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.zh-cn.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/editor/editor.main.nls.zh-tw.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/css/cssMode.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/css/cssWorker.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/html/htmlMode.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/html/htmlWorker.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/json/jsonMode.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/json/jsonWorker.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/typescript/tsMode.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/language/typescript/tsWorker.js create mode 100644 SoEasyPlatform/wwwroot/vendors/monaco-editor/vs/loader.js diff --git a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs index 50fcb0b6..4dc18189 100644 --- a/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs +++ b/SoEasyPlatform/Apis/CodeTableApp/CodeTableController.cs @@ -352,7 +352,7 @@ public ApiResult Exportfile([FromForm] string model, [FromForm] int dbid) var tableDb = base.GetTryDb(dbid); var dts = Export(model, tableDb); var bytes = Table_ToExcel.ExportExcel(dts, "数据库文档.xlsx"); - var url = FileSugar.MergeUrl(Startup.GetCurrentDirectory(), "excel/数据库文档" + SqlSugar.SnowFlakeSingle.Instance.getID() + ".xlsx"); + var url = FileSugar.MergeUrl(Startup.CurrentDirectory, "excel/数据库文档" + SqlSugar.SnowFlakeSingle.Instance.getID() + ".xlsx"); FileSugar.CreateFile(url, bytes); OpenPath(url); return result; diff --git a/SoEasyPlatform/Code/AppStart/Services.cs b/SoEasyPlatform/Code/AppStart/Services.cs index 97900b1a..90e45e4a 100644 --- a/SoEasyPlatform/Code/AppStart/Services.cs +++ b/SoEasyPlatform/Code/AppStart/Services.cs @@ -1,13 +1,8 @@ -using AutoMapper; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -namespace SoEasyPlatform +namespace SoEasyPlatform { public class Services { @@ -18,8 +13,7 @@ public static void AddServices(IServiceCollection services) services.AddAutoMapper(typeof(SoEasyPlatform.MapperProfiles).Assembly); #if DEBUG //启用动态编译 - services.AddControllersWithViews() - .AddRazorRuntimeCompilation(); + services.AddControllersWithViews().AddRazorRuntimeCompilation(); #endif services.AddControllersWithViews().AddNewtonsoftJson(opt => { diff --git a/SoEasyPlatform/Pages/Template.cshtml b/SoEasyPlatform/Pages/Template.cshtml index 1b7242d7..0481dd43 100644 --- a/SoEasyPlatform/Pages/Template.cshtml +++ b/SoEasyPlatform/Pages/Template.cshtml @@ -51,9 +51,9 @@
- + - +
@*
diff --git a/SoEasyPlatform/Program.cs b/SoEasyPlatform/Program.cs index 7c36f438..04927ac9 100644 --- a/SoEasyPlatform/Program.cs +++ b/SoEasyPlatform/Program.cs @@ -1,26 +1,26 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; +using Microsoft.AspNetCore.Builder; +using SoEasyPlatform; +using SqlSugar.IOC; -namespace SoEasyPlatform +var builder = WebApplication.CreateBuilder(args); +Services.AddServices(builder.Services); +builder.Services.AddSqlSugar(new SqlSugar.IOC.IocConfig() { - public class Program + ConfigId = "master1", + DbType = IocDbType.Sqlite, + IsAutoCloseConnection = true, + ConnectionString = "DataSource=" + Startup.CurrentDirectory + @"\database\sqlite.db" +}); +builder.Services.ConfigurationSugar(db => +{ + if (!db.ConfigQuery.Any()) { - public static void Main(string[] args) - { - CreateHostBuilder(args).Build().Run(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => - { - webBuilder.UseStartup(); - }); + db.ConfigQuery.SetTable