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!
SqlSugar 代码生成 数据库及表的更多相关文章
- [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)
自己写代码生成器之生成Dal层代码(获取数据库所有表名称) --得到数据库birthday所有表名称 select name from sysobjects where [type]='U' --se ...
- 基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
在我的各种开发框架中,数据访问有的基于微软企业库,有的基于EFCore的实体框架,两者各有其应用场景,不过多的去比较.最近在使用SqlSugar的时候,觉得这个数据访问处理的组件确实很灵活,据说性能也 ...
- 基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
由于我们有时候需要在基于.net framework的项目上使用(如Winform端应用),有时候有需要在.net core的项目上使用(如.net core的WebAPI),那么我们把基于SQLSu ...
- SQL Server 动态生成数据库所有表Insert语句
一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是, ...
- Mysql 查看、创建、更改 数据库和表
一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...
- SQL Server中查询数据库及表的信息语句
/* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- EntityFramework之数据库以及表基本创建(一)
前言 之前有学过EF一段时间那时EF才4.0似乎还不太稳定,而现在EF都已7.0版本,同时AspNet Identity都与此大有关联,看来是大势所趋于是开始学习EF,在学EF过程中也遇到一些小问题, ...
- MySQL数据库(表)的导入导出(备份和还原)
一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...
- 代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常 ...
随机推荐
- 容忍和污点Taint和Toleration
说明: Taint在一类服务器上打上污点,让不能容忍这个污点的Pod不能部署在打了污点的服务器上. Toleration是让Pod容忍节点上配置的污点,可以让一些需要特殊配置的Pod能够调用到具有 污 ...
- java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题
此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.
- mysql的数据操作
INSERT [INTO] 表名 [(字段名1,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... 说明:主键列是自动增长,但是在全列插入时 ...
- RDD编程练习
一.filter,map,flatmap练习: 1.读文本文件生成RDD lines 2.将一行一行的文本分割成单词 words 3.全部转换为小写 4.去掉长度小于3的单词 5.去掉停用词 6.练习 ...
- Git 提交和拉取服务器最新版本代码方法
1. 客户端提交: 方法1: git add --all 或 git add 文件1 文件2 ... git commit -m '提交备注信息' git push 方法2: git a ...
- 老毛桃WinPE以ISO镜像模式安装CentOS7
准备: 一台新台式机(2TB磁盘),将用于安装centos 7,注意安装前请使用工具将磁盘分区先删除. 一个u盘,用户制作老毛桃winpe启动盘. 从www.laomaotao.org下载最新9.3增 ...
- Ubuntu磁盘查看分区和挂载
1.查看硬盘 sudo lshw -c disk 查看有多少个硬盘,一般会显示 disk:0(设备名为 /dev/vda) disk:1 (设备名为 /dev/vdb) 2.查看分区 sudo fdi ...
- 在docker容器外,使用docker容器中的环境
docker exec -it 334529194f22 /bin/bash -c 'pip install requests-2.22.0-py2.py3-none-any.whl' 其中33452 ...
- 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但" ...
- 前端常见的Vue面试题目汇总
请说一下响应式数据的原理 默认Vue在初始化数据时,会给data中的属性使用Object.defineProperty重新定义所有属性,当页面到对应属性时,会进行依赖收集(收集当前组件中的watche ...