在实际开发中如何在sqlsugar中通过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; }
}
}
新建一个类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 方法创建表
namespace 用户管理.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
DB.createDB();
return View();
}
}
}
文件视图如下:
运行代码打开 Navicat 检查数据库和表创建情况
可以看到数据库和表都创建完毕了!
end!
手机扫一扫
移动阅读更方便
你可能感兴趣的文章