using System.Reflection; using zhulongxu_webapi_pro.Tools; namespace zhulongxu_webapi_pro.Services { /// <summary> /// 初始化数据库 /// </summary> public static class InitDataBaseService { public static void InitDataBase(this WebApplicationBuilder builder) { var conneString = settingsTool.Get("ConnectionString", true); ConnectionConfig connection = new ConnectionConfig() { ConnectionString = conneString, // 数据库链接字符串 DbType = DbType.PostgreSQL, // 什么数据库 IsAutoCloseConnection = true, // 是否自动关闭链接 }; using (SqlSugarClient client = new SqlSugarClient(connection)) { // 读取配置文件 // 如果有数据库就执行删除操作 没有就不会操作 client.DbMaintenance.CreateDatabase(); //if (client.DbMaintenance.IsAnyTable("pagingdata`1", false)) //{ // client.DbMaintenance.DropTable("pagingdata`1"); // 删除 userinfo 表格 //} // 找到运行文件的映射 assembly 通过反射读取 dll 文件 // 反射 1. 获取实体文件的反射 2. 获取对应命名空间 Assembly assembly = Assembly.LoadFile(Path.Combine(AppContext.BaseDirectory, "zhtestxu.Domain.dll")); // zhulongxu.Domain.Entries 这个命名空间的所有类都会被映射成表 // ps: t.Name 表示类名 t.NameSpace 表示命名空间 Type[] typeArray = assembly.GetTypes().ToArray(); // 生成表 client.CodeFirst.InitTables(typeArray); } } } }
标签:原生,assembly,数据库,zhulongxu,DbMaintenance,client,using,sqlSugar From: https://www.cnblogs.com/zhulongxu/p/18225126