123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- using Microsoft.Extensions.Configuration;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Wms.Screen.Util.Extensions;
- namespace Wms.Screen.SqlSugar
- {
- public class SqlSugarConfig
- {
- /// <summary>
- /// 默认是SqlServer
- /// </summary>
- /// <param name="configuration">IConfiguration</param>
- /// <returns></returns>
- public static (DbType, string) GetConnectionString(IConfiguration configuration)
- {
- string type = configuration["SqlSugar:DbType"];
- var dbType = type.ToEnum<DbType>();
- switch (dbType)
- {
- case DbType.MySql:
- return (DbType.MySql, configuration["SqlSugar:MySqlConnectionString"]);
- case DbType.SqlServer:
- return (DbType.SqlServer, configuration["SqlSugar:SqlServerConnectionString"]);
- case DbType.Sqlite:
- return (DbType.Sqlite, configuration["SqlSugar:SqliteConnectionString"]);
- case DbType.Oracle:
- return (DbType.Oracle, configuration["SqlSugar:OracleConnectionString"]);
- case DbType.PostgreSQL:
- return (DbType.PostgreSQL, configuration["SqlSugar:PostgreSQLConnectionString"]);
- default:
- return (DbType.SqlServer, configuration["SqlSugar:SqlServerConnectionString"]);
- }
- }
- public static List<SqlFuncExternal> GetLambda()
- {
- //Lambda自定义解析
- var expMethods = new List<SqlFuncExternal>
- {
- new SqlFuncExternal()
- {
- UniqueMethodName = "ToDateFormat",
- MethodValue = (expInfo, dbType, expContext) =>
- {
- switch (dbType)
- {
- case DbType.SqlServer:
- return $"CONVERT (VARCHAR (10), {expInfo.Args[0].MemberName}, 121 )";
- case DbType.MySql:
- return $"DATE_FORMAT( {expInfo.Args[0].MemberName}, '%Y-%m-%d' ) ";
- case DbType.Sqlite:
- return $"date({expInfo.Args[0].MemberName})";
- case DbType.PostgreSQL:
- case DbType.Oracle:
- return $"to_date({expInfo.Args[0].MemberName},yyyy-MM-dd)";
- default:
- throw new Exception("未实现");
- }
- }
- },
- };
- return expMethods;
- }
- /// <summary>
- /// 解决数据库表名与实体名称不一致的问题 别名表
- /// </summary>
- public static readonly MappingTableList listTable = new MappingTableList()
- {
- new MappingTable() { EntityName="Sys_menu",DbTableName="sys_menu_wms",DbShortTaleName="menu"},
- };
- public static readonly MappingColumnList columns = new MappingColumnList()
- {
- };
- }
- }
|