SqlSugar 代码生成 数据库及表
在实际开发中如何在sqlsugar中通过model生成数据表呢?
废话不说上代码
一、引入sqlsugarcore
二、编写Model代码
先写一个model举例
namespace 用户管理.Models { public class Module { [SugarColumn(ColumnDataType = "varchar(80)" ,IsPrimaryKey =true)] public string ModuleID { get; set; } [SugarColumn(ColumnDataType = "varchar(20)")] public string ModuleName { get; set; } [SugarColumn(ColumnDataType = "varchar(80)")] public string ParentID { get; set; } [SugarColumn(ColumnDataType = "varchar(300)")] public string URL { get; set; } } }
三、配置 sqlsugar
新建一个类DB代码如下:
namespace 用户管理.MysqlService { public class DB { //配置数据连接串确保mysql能工作 UserManage数据库此时并不存在 public static string DB_ConnectionString = "Database=UserManage;Data Source = localhost; User Id = root; Password=root;CharSet=utf8;port=3306;Pooling=true;"; public static string DB_SqlserverConnectionString { get; set; } public static SqlSugarClient db { get => new SqlSugarClient(new ConnectionConfig() { ConnectionString = DB_ConnectionString, DbType = DbType.MySql, IsAutoCloseConnection = true, // InitKeyType = InitKeyType.SystemTable, //已建立数据库和表配置此属性 // IsShardSameThread = true InitKeyType = InitKeyType.Attribute // 一定要配置此属性 ,否则生成数据库会报错 } ); } public static void createDB() { db.DbMaintenance.CreateDatabase(); //创建数据库 db.CodeFirst.InitTables( typeof(用户管理.Models.Module), typeof(用户管理.Models.ModuleRoleMapping ), typeof(用户管理.Models.Role ), typeof(用户管理.Models.User )); } } }
以上代码 调用 SqlSugarClient 的CodeFirst.InitTables 方法创建表
四、在HomeController中调用 createDB 创建数据库和表
namespace 用户管理.Controllers { public class HomeController : Controller { public IActionResult Index() { DB.createDB(); return View(); } } }
文件视图如下:
运行代码打开 Navicat 检查数据库和表创建情况
可以看到数据库和表都创建完毕了!
end!