12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Infrastructure;
- using Infrastructure.Model;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Text.RegularExpressions;
- namespace ZR.CodeGenerator
- {
- /// <summary>
- /// 代码生成数据库连接
- /// </summary>
- public class DbProvider
- {
- protected static SqlSugarClient CodeDb;
- /// <summary>
- /// 获取动态连接字符串
- /// </summary>
- /// <param name="dbName">数据库名</param>
- /// <returns></returns>
- public SqlSugarClient GetSugarDbContext(string dbName = "")
- {
- DbConfigs configs = AppSettings.Get<DbConfigs>("CodeGenDbConfig");
- string connStr = configs.Conn;
- if (!string.IsNullOrEmpty(dbName))
- {
- configs.DbName = dbName;
- }
- connStr = connStr.Replace("{dbName}", configs.DbName, StringComparison.OrdinalIgnoreCase);
- var db = new SqlSugarClient(new List<ConnectionConfig>()
- {
- new ConnectionConfig(){
- ConnectionString = connStr,
- DbType = (DbType)configs.DbType,
- IsAutoCloseConnection = true,//开启自动释放模式和EF原理一样
- InitKeyType = InitKeyType.Attribute,//从特性读取主键和自增列信息
- },
- });
- CodeDb = db;
- return db;
- }
- /// <summary>
- /// 获得字符串中开始和结束字符串中间得值
- /// </summary>
- /// <param name="str">字符串</param>
- /// <param name="s">开始</param>
- /// <param name="e">结束</param>
- /// <returns></returns>
- public static string GetValue(string str, string s, string e)
- {
- Regex rg = new("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);
- return rg.Match(str).Value;
- }
- }
- }
|