修复 #80 Bug
This commit is contained in:
anjoy8 2020-05-12 14:50:33 +08:00
parent 6a75c5e92b
commit 102c6d6bfc
5 changed files with 406 additions and 458 deletions

View File

@ -15,15 +15,15 @@ namespace Blog.Core.Model.Models
/// <summary>
/// 生成Model层
/// </summary>
/// <param name="myContext">上下文</param>
/// <param name="sqlSugarClient">sqlsugar实例</param>
/// <param name="tableNames">数据库表名数组,默认空,生成所有表</param>
/// <returns></returns>
public static bool CreateModels(MyContext myContext, string[] tableNames = null)
public static bool CreateModels(SqlSugarClient sqlSugarClient, string[] tableNames = null)
{
try
{
myContext.Create_Model_ClassFileByDBTalbe($@"C:\my-file\Blog.Core.Model", "Blog.Core.Model.Models", tableNames, "");
Create_Model_ClassFileByDBTalbe(sqlSugarClient, $@"C:\my-file\Blog.Core.Model", "Blog.Core.Model.Models", tableNames, "");
return true;
}
catch (Exception)
@ -36,15 +36,15 @@ namespace Blog.Core.Model.Models
/// <summary>
/// 生成IRepository层
/// </summary>
/// <param name="myContext">上下文</param>
/// <param name="sqlSugarClient">sqlsugar实例</param>
/// <param name="tableNames">数据库表名数组,默认空,生成所有表</param>
/// <returns></returns>
public static bool CreateIRepositorys(MyContext myContext, string[] tableNames = null)
public static bool CreateIRepositorys(SqlSugarClient sqlSugarClient, string[] tableNames = null)
{
try
{
myContext.Create_IRepository_ClassFileByDBTalbe($@"C:\my-file\Blog.Core.IRepository", "Blog.Core.IRepository", tableNames, "");
Create_IRepository_ClassFileByDBTalbe(sqlSugarClient, $@"C:\my-file\Blog.Core.IRepository", "Blog.Core.IRepository", tableNames, "");
return true;
}
catch (Exception)
@ -59,15 +59,15 @@ namespace Blog.Core.Model.Models
/// <summary>
/// 生成 IService 层
/// </summary>
/// <param name="myContext">上下文</param>
/// <param name="sqlSugarClient">sqlsugar实例</param>
/// <param name="tableNames">数据库表名数组,默认空,生成所有表</param>
/// <returns></returns>
public static bool CreateIServices(MyContext myContext, string[] tableNames = null)
public static bool CreateIServices(SqlSugarClient sqlSugarClient, string[] tableNames = null)
{
try
{
myContext.Create_IServices_ClassFileByDBTalbe($@"C:\my-file\Blog.Core.IServices", "Blog.Core.IServices", tableNames, "");
Create_IServices_ClassFileByDBTalbe(sqlSugarClient, $@"C:\my-file\Blog.Core.IServices", "Blog.Core.IServices", tableNames, "");
return true;
}
catch (Exception)
@ -82,15 +82,15 @@ namespace Blog.Core.Model.Models
/// <summary>
/// 生成 Repository 层
/// </summary>
/// <param name="myContext">上下文</param>
/// <param name="sqlSugarClient">sqlsugar实例</param>
/// <param name="tableNames">数据库表名数组,默认空,生成所有表</param>
/// <returns></returns>
public static bool CreateRepository(MyContext myContext, string[] tableNames = null)
public static bool CreateRepository(SqlSugarClient sqlSugarClient, string[] tableNames = null)
{
try
{
myContext.Create_Repository_ClassFileByDBTalbe($@"C:\my-file\Blog.Core.Repository", "Blog.Core.Repository", tableNames, "");
Create_Repository_ClassFileByDBTalbe(sqlSugarClient, $@"C:\my-file\Blog.Core.Repository", "Blog.Core.Repository", tableNames, "");
return true;
}
catch (Exception)
@ -105,15 +105,15 @@ namespace Blog.Core.Model.Models
/// <summary>
/// 生成 Service 层
/// </summary>
/// <param name="myContext">上下文</param>
/// <param name="sqlSugarClient">sqlsugar实例</param>
/// <param name="tableNames">数据库表名数组,默认空,生成所有表</param>
/// <returns></returns>
public static bool CreateServices(MyContext myContext, string[] tableNames = null)
public static bool CreateServices(SqlSugarClient sqlSugarClient, string[] tableNames = null)
{
try
{
myContext.Create_Services_ClassFileByDBTalbe($@"C:\my-file\Blog.Core.Services", "Blog.Core.Services", tableNames, "");
Create_Services_ClassFileByDBTalbe(sqlSugarClient, $@"C:\my-file\Blog.Core.Services", "Blog.Core.Services", tableNames, "");
return true;
}
catch (Exception)
@ -122,5 +122,296 @@ namespace Blog.Core.Model.Models
}
}
#region Model层
/// <summary>
/// 功能描述:根据数据库表生产Model层
/// 作  者:Blog.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
/// <param name="blnSerializable">是否序列化</param>
private static void Create_Model_ClassFileByDBTalbe(
SqlSugarClient sqlSugarClient,
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface,
bool blnSerializable = false)
{
var IDbFirst = sqlSugarClient.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
{using}
namespace " + strNameSpace + @"
{
{ClassDescription}{SugarTable}" + (blnSerializable ? "[Serializable]" : "") + @"
public class {ClassName}" + (string.IsNullOrEmpty(strInterface) ? "" : (" : " + strInterface)) + @"
{
public {ClassName}()
{
}
{PropertyName}
}
}
")
.SettingPropertyTemplate(p => p = @"
{SugarColumn}
public {PropertyType} {PropertyName} { get; set; }
")
//.SettingPropertyDescriptionTemplate(p => p = " private {PropertyType} _{PropertyName};\r\n" + p)
//.SettingConstructorTemplate(p => p = " this._{PropertyName} ={DefaultValue};")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}");
}
#endregion
#region IRepository层
/// <summary>
/// 功能描述:根据数据库表生产IRepository层
/// 作  者:Blog.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
private static void Create_IRepository_ClassFileByDBTalbe(
SqlSugarClient sqlSugarClient,
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = sqlSugarClient.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository.Base;
using Blog.Core.Model.Models;
namespace " + strNameSpace + @"
{
/// <summary>
/// I{ClassName}Repository
/// </summary>
public interface I{ClassName}Repository : IBaseRepository<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "I{0}Repository");
}
#endregion
#region IServices层
/// <summary>
/// 功能描述:根据数据库表生产IServices层
/// 作  者:Blog.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
private static void Create_IServices_ClassFileByDBTalbe(
SqlSugarClient sqlSugarClient,
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = sqlSugarClient.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IServices.BASE;
using Blog.Core.Model.Models;
namespace " + strNameSpace + @"
{
/// <summary>
/// I{ClassName}Services
/// </summary>
public interface I{ClassName}Services :IBaseServices<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "I{0}Services");
}
#endregion
#region Repository
/// <summary>
/// 功能描述:根据数据库表生产 Repository 层
/// 作  者:Blog.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
private static void Create_Repository_ClassFileByDBTalbe(
SqlSugarClient sqlSugarClient,
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = sqlSugarClient.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository;
using Blog.Core.IRepository.UnitOfWork;
using Blog.Core.Model.Models;
using Blog.Core.Repository.Base;
namespace " + strNameSpace + @"
{
/// <summary>
/// {ClassName}Repository
/// </summary>
public class {ClassName}Repository : BaseRepository<{ClassName}>, I{ClassName}Repository" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
public {ClassName}Repository(IUnitOfWork unitOfWork) : base(unitOfWork)
{
}
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}Repository");
}
#endregion
#region Services
/// <summary>
/// 功能描述:根据数据库表生产 Services 层
/// 作  者:Blog.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
private static void Create_Services_ClassFileByDBTalbe(
SqlSugarClient sqlSugarClient,
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = sqlSugarClient.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository;
using Blog.Core.IServices;
using Blog.Core.Model.Models;
using Blog.Core.Services.BASE;
namespace " + strNameSpace + @"
{
public partial class {ClassName}Services : BaseServices<{ClassName}>, I{ClassName}Services" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
I{ClassName}Repository _dal;
public {ClassName}Services(I{ClassName}Repository dal)
{
this._dal = dal;
base.BaseDal = dal;
}
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}Services");
}
#endregion
#region
/// <summary>
/// 根据模板内容批量生成文件
/// </summary>
/// <param name="ls">类文件字符串list</param>
/// <param name="strPath">生成路径</param>
/// <param name="fileNameTp">文件名格式模板</param>
private static void CreateFilesByClassStringList(Dictionary<string, string> ls, string strPath, string fileNameTp)
{
foreach (var item in ls)
{
var fileName = $"{string.Format(fileNameTp, item.Key)}.cs";
var fileFullPath = Path.Combine(strPath, fileName);
if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
}
File.WriteAllText(fileFullPath, item.Value);
}
}
#endregion
}
}

View File

@ -106,283 +106,6 @@ namespace Blog.Core.Model.Models
}
#region Model层
/// <summary>
/// 功能描述:根据数据库表生产Model层
/// 作  者:Blog.Core
/// </summary>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
/// <param name="blnSerializable">是否序列化</param>
public void Create_Model_ClassFileByDBTalbe(
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface,
bool blnSerializable = false)
{
var IDbFirst = _db.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
{using}
namespace " + strNameSpace + @"
{
{ClassDescription}{SugarTable}" + (blnSerializable ? "[Serializable]" : "") + @"
public class {ClassName}" + (string.IsNullOrEmpty(strInterface) ? "" : (" : " + strInterface)) + @"
{
public {ClassName}()
{
}
{PropertyName}
}
}
")
.SettingPropertyTemplate(p => p = @"
{SugarColumn}
public {PropertyType} {PropertyName} { get; set; }
")
//.SettingPropertyDescriptionTemplate(p => p = " private {PropertyType} _{PropertyName};\r\n" + p)
//.SettingConstructorTemplate(p => p = " this._{PropertyName} ={DefaultValue};")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}");
}
#endregion
#region IRepository层
/// <summary>
/// 功能描述:根据数据库表生产IRepository层
/// 作  者:Blog.Core
/// </summary>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
public void Create_IRepository_ClassFileByDBTalbe(
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = _db.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository.Base;
using Blog.Core.Model.Models;
namespace " + strNameSpace + @"
{
/// <summary>
/// I{ClassName}Repository
/// </summary>
public interface I{ClassName}Repository : IBaseRepository<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "I{0}Repository");
}
#endregion
#region IServices层
/// <summary>
/// 功能描述:根据数据库表生产IServices层
/// 作  者:Blog.Core
/// </summary>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
public void Create_IServices_ClassFileByDBTalbe(
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = _db.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IServices.BASE;
using Blog.Core.Model.Models;
namespace " + strNameSpace + @"
{
/// <summary>
/// I{ClassName}Services
/// </summary>
public interface I{ClassName}Services :IBaseServices<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "I{0}Services");
}
#endregion
#region Repository
/// <summary>
/// 功能描述:根据数据库表生产 Repository 层
/// 作  者:Blog.Core
/// </summary>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
public void Create_Repository_ClassFileByDBTalbe(
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = _db.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository;
using Blog.Core.IRepository.UnitOfWork;
using Blog.Core.Model.Models;
using Blog.Core.Repository.Base;
namespace " + strNameSpace + @"
{
/// <summary>
/// {ClassName}Repository
/// </summary>
public class {ClassName}Repository : BaseRepository<{ClassName}>, I{ClassName}Repository" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
public {ClassName}Repository(IUnitOfWork unitOfWork) : base(unitOfWork)
{
}
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}Repository");
}
#endregion
#region Services
/// <summary>
/// 功能描述:根据数据库表生产 Services 层
/// 作  者:Blog.Core
/// </summary>
/// <param name="strPath">实体类存放路径</param>
/// <param name="strNameSpace">命名空间</param>
/// <param name="lstTableNames">生产指定的表</param>
/// <param name="strInterface">实现接口</param>
public void Create_Services_ClassFileByDBTalbe(
string strPath,
string strNameSpace,
string[] lstTableNames,
string strInterface)
{
var IDbFirst = _db.DbFirst;
if (lstTableNames != null && lstTableNames.Length > 0)
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p = @"
using Blog.Core.IRepository;
using Blog.Core.IServices;
using Blog.Core.Model.Models;
using Blog.Core.Services.BASE;
namespace " + strNameSpace + @"
{
public partial class {ClassName}Services : BaseServices<{ClassName}>, I{ClassName}Services" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{
I{ClassName}Repository _dal;
public {ClassName}Services(I{ClassName}Repository dal)
{
this._dal = dal;
base.BaseDal = dal;
}
}
}
")
.ToClassStringList(strNameSpace);
CreateFilesByClassStringList(ls, strPath, "{0}Services");
}
#endregion
#region
/// <summary>
/// 根据模板内容批量生成文件
/// </summary>
/// <param name="ls">类文件字符串list</param>
/// <param name="strPath">生成路径</param>
/// <param name="fileNameTp">文件名格式模板</param>
public void CreateFilesByClassStringList(Dictionary<string, string> ls, string strPath, string fileNameTp)
{
foreach (var item in ls)
{
var fileName = $"{string.Format(fileNameTp, item.Key)}.cs";
var fileFullPath = Path.Combine(strPath, fileName);
if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
}
File.WriteAllText(fileFullPath, item.Value);
}
}
#endregion
#region
/// <summary>
/// 功能描述:获取数据库处理对象

View File

@ -808,46 +808,110 @@
<param name="WebRootPath"></param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateModels(Blog.Core.Model.Models.MyContext,System.String[])">
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateModels(SqlSugar.SqlSugarClient,System.String[])">
<summary>
生成Model层
</summary>
<param name="myContext">上下文</param>
<param name="sqlSugarClient">sqlsugar实例</param>
<param name="tableNames">数据库表名数组,默认空,生成所有表</param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateIRepositorys(Blog.Core.Model.Models.MyContext,System.String[])">
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateIRepositorys(SqlSugar.SqlSugarClient,System.String[])">
<summary>
生成IRepository层
</summary>
<param name="myContext">上下文</param>
<param name="sqlSugarClient">sqlsugar实例</param>
<param name="tableNames">数据库表名数组,默认空,生成所有表</param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateIServices(Blog.Core.Model.Models.MyContext,System.String[])">
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateIServices(SqlSugar.SqlSugarClient,System.String[])">
<summary>
生成 IService 层
</summary>
<param name="myContext">上下文</param>
<param name="sqlSugarClient">sqlsugar实例</param>
<param name="tableNames">数据库表名数组,默认空,生成所有表</param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateRepository(Blog.Core.Model.Models.MyContext,System.String[])">
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateRepository(SqlSugar.SqlSugarClient,System.String[])">
<summary>
生成 Repository 层
</summary>
<param name="myContext">上下文</param>
<param name="sqlSugarClient">sqlsugar实例</param>
<param name="tableNames">数据库表名数组,默认空,生成所有表</param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateServices(Blog.Core.Model.Models.MyContext,System.String[])">
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateServices(SqlSugar.SqlSugarClient,System.String[])">
<summary>
生成 Service 层
</summary>
<param name="myContext">上下文</param>
<param name="sqlSugarClient">sqlsugar实例</param>
<param name="tableNames">数据库表名数组,默认空,生成所有表</param>
<returns></returns>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.Create_Model_ClassFileByDBTalbe(SqlSugar.SqlSugarClient,System.String,System.String,System.String[],System.String,System.Boolean)">
<summary>
功能描述:根据数据库表生产Model层
作  者:Blog.Core
</summary>
<param name="sqlSugarClient"></param>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
<param name="blnSerializable">是否序列化</param>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.Create_IRepository_ClassFileByDBTalbe(SqlSugar.SqlSugarClient,System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产IRepository层
作  者:Blog.Core
</summary>
<param name="sqlSugarClient"></param>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.Create_IServices_ClassFileByDBTalbe(SqlSugar.SqlSugarClient,System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产IServices层
作  者:Blog.Core
</summary>
<param name="sqlSugarClient"></param>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.Create_Repository_ClassFileByDBTalbe(SqlSugar.SqlSugarClient,System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产 Repository 层
作  者:Blog.Core
</summary>
<param name="sqlSugarClient"></param>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.Create_Services_ClassFileByDBTalbe(SqlSugar.SqlSugarClient,System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产 Services 层
作  者:Blog.Core
</summary>
<param name="sqlSugarClient"></param>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.FrameSeed.CreateFilesByClassStringList(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String)">
<summary>
根据模板内容批量生成文件
</summary>
<param name="ls">类文件字符串list</param>
<param name="strPath">生成路径</param>
<param name="fileNameTp">文件名格式模板</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.GetMainConnectionDb">
<summary>
连接字符串
@ -884,65 +948,6 @@
作  者:Blog.Core
</summary>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.Create_Model_ClassFileByDBTalbe(System.String,System.String,System.String[],System.String,System.Boolean)">
<summary>
功能描述:根据数据库表生产Model层
作  者:Blog.Core
</summary>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
<param name="blnSerializable">是否序列化</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.Create_IRepository_ClassFileByDBTalbe(System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产IRepository层
作  者:Blog.Core
</summary>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.Create_IServices_ClassFileByDBTalbe(System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产IServices层
作  者:Blog.Core
</summary>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.Create_Repository_ClassFileByDBTalbe(System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产 Repository 层
作  者:Blog.Core
</summary>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.Create_Services_ClassFileByDBTalbe(System.String,System.String,System.String[],System.String)">
<summary>
功能描述:根据数据库表生产 Services 层
作  者:Blog.Core
</summary>
<param name="strPath">实体类存放路径</param>
<param name="strNameSpace">命名空间</param>
<param name="lstTableNames">生产指定的表</param>
<param name="strInterface">实现接口</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.CreateFilesByClassStringList(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String)">
<summary>
根据模板内容批量生成文件
</summary>
<param name="ls">类文件字符串list</param>
<param name="strPath">生成路径</param>
<param name="fileNameTp">文件名格式模板</param>
</member>
<member name="M:Blog.Core.Model.Models.MyContext.GetEntityDB``1">
<summary>
功能描述:获取数据库处理对象

View File

@ -307,11 +307,10 @@
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.#ctor(Blog.Core.Model.Models.MyContext)">
<member name="M:Blog.Core.Controllers.DbFirstController.#ctor(SqlSugar.ISqlSugarClient)">
<summary>
构造函数
</summary>
<param name="myContext"></param>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetFrameFiles">
<summary>
@ -319,36 +318,6 @@
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetModelFiles">
<summary>
获取 Model 层文件
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetIRepositoryFiles">
<summary>
获取 IRepository 层文件
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetIServiceFiles">
<summary>
获取 IService 层文件
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetRepositoryFiles">
<summary>
获取 Repository 层文件
</summary>
<returns></returns>
</member>
<member name="M:Blog.Core.Controllers.DbFirstController.GetServicesFiles">
<summary>
获取 Services 层文件
</summary>
<returns></returns>
</member>
<member name="T:Blog.Core.Controllers.ImgController">
<summary>
图片管理

View File

@ -1,23 +1,26 @@
using Blog.Core.Model.Models;
using Blog.Core.Common.DB;
using Blog.Core.Model;
using Blog.Core.Model.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Linq;
namespace Blog.Core.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize(Permissions.Name)]
//[Authorize(Permissions.Name)]
public class DbFirstController : ControllerBase
{
private readonly MyContext myContext;
private readonly SqlSugarClient _sqlSugarClient;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="myContext"></param>
public DbFirstController(MyContext myContext)
public DbFirstController(ISqlSugarClient sqlSugarClient)
{
this.myContext = myContext;
_sqlSugarClient = sqlSugarClient as SqlSugarClient;
}
/// <summary>
@ -25,66 +28,23 @@ namespace Blog.Core.Controllers
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetFrameFiles()
public MessageModel<string> GetFrameFiles()
{
return FrameSeed.CreateModels(myContext)
&& FrameSeed.CreateIRepositorys(myContext)
&& FrameSeed.CreateIServices(myContext)
&& FrameSeed.CreateRepository(myContext)
&& FrameSeed.CreateServices(myContext)
;
var data = new MessageModel<string>() { success = true, msg = "" };
BaseDBConfig.MutiConnectionString.Item1.ToList().ForEach(m =>
{
_sqlSugarClient.ChangeDatabase(m.ConnId.ToLower());
data.response += $"库{m.ConnId}-Model层生成{FrameSeed.CreateModels(_sqlSugarClient)} || ";
data.response += $"库{m.ConnId}-IRepositorys层生成{FrameSeed.CreateIRepositorys(_sqlSugarClient)} || ";
data.response += $"库{m.ConnId}-IServices层生成{FrameSeed.CreateIServices(_sqlSugarClient)} || ";
data.response += $"库{m.ConnId}-Repository层生成{FrameSeed.CreateRepository(_sqlSugarClient)} || ";
data.response += $"库{m.ConnId}-Services层生成{FrameSeed.CreateServices(_sqlSugarClient)} || ";
});
// 切回主库
_sqlSugarClient.ChangeDatabase(MainDb.CurrentDbConnId.ToLower());
return data;
}
/// <summary>
/// 获取 Model 层文件
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetModelFiles()
{
return FrameSeed.CreateModels(myContext);
}
/// <summary>
/// 获取 IRepository 层文件
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetIRepositoryFiles()
{
return FrameSeed.CreateIRepositorys(myContext);
}
/// <summary>
/// 获取 IService 层文件
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetIServiceFiles()
{
return FrameSeed.CreateIServices(myContext);
}
/// <summary>
/// 获取 Repository 层文件
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetRepositoryFiles()
{
return FrameSeed.CreateRepository(myContext);
}
/// <summary>
/// 获取 Services 层文件
/// </summary>
/// <returns></returns>
[HttpGet]
public bool GetServicesFiles()
{
return FrameSeed.CreateServices(myContext);
}
}
}