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!

 

posted on 2022-10-04 20:57  码农at突泉  阅读(3311)  评论(0编辑  收藏  举报