92 Star 290 Fork 154

风起兮 / NetCoreFast

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Base.md 85.91 KB
一键复制 编辑 原始数据 按行查看 历史
风起兮 提交于 2023-10-05 18:47 . 快速步骤修改

快速开发

1、修改数据库连接字符串。在appsettings.Development.json(调试环境配置文件)或appsettings.Production.json(生产环境)配置文件

如果是SqlServer数据库

 "ConnectionStrings": {
    "SqlServer": "Data Source=.;Initial Catalog=CMS;Integrated Security=True"   
  }

Initial Catalog=CMS设置数据库名称


如果是MySql数据库

 "ConnectionStrings": {
    "MySql": "server=192.168.1.46;userid=root;password=123456;database=CMS;SslMode=none" 
  }

SslMode=none 防止报ssl错误 为了支持批量操作:在 mysql中, 如果使用BulkInsert,请在服务器端和客户端都启用local_infile:在mysql server服务器端启用"local_infile=ON", 然后在连接字符串中添加 "AllowLoadLocalInfile=true"。


如果是Sqlite数据库

 "ConnectionStrings": {
    "Sqlite": "Filename=D:\\pub\\CMS.DB"
  }

Filename数据库文件路径,数据库文件名后缀任意


2、编写Model实体类

  • 在Model\Entity文件夹添加子模块目录,比如Model\Entity\Cms,在Model\Entity\Cms添加model实体类
    实体类统一继承ID或UserID或TreeID或UserTreeID等。以ID结尾的表示父类,存放了统一公共属性。TreeID表示实体类是树形结构
public class Article : UserID
    {
        [Display(Name = "名称")]
        [Required(ErrorMessage = "名称必填")]
        public string Name { get; set; }       
        [Display(Name = "简介")]
        public string Intro { get; set; }
    }
注意:
①要支持多租户,需实现ITenant接口
②实现ISys接口的实体类的属性,用于在过滤器Web.Filter.QueryFilterAttribute自动赋值

3、运行代码生成器,生成代码

本脚手架,高度封装,写法统一规范,多数代码相似,所以可以做到一键生成增加、修改、删除、查询代码,仅部分逻辑需要手写。DAL如无特殊需求,不需要编写!

代码自动生成器(CodeGen.exe):

第1步、运行项目文件夹\CodeGen.exe程序(或者运行解决方案\CodeGen项目)。

第2步、输入"2"选择生成代码,自动生模块及对应的MyDbContext 、Dto、BLL和Controller代码

注意:
①如果代码是自动生成的,且手动改过,再自动生成的话,会把手动修改的还原,慎重修改自动生成的代码

如果想给自动生成的Bll类和Controller扩展方法怎么办?通过Etc目录来合并!!!

③Model.MyDbContext数据上下文的实体集合也将自动生成,无需编写

public class MyDbContext : DbContext
    {        
        public virtual DbSet<Article> Articles { get; set; }       
    }

4、数据迁移(添加数据库版本)此步骤必须

即更新数据库版本。添加、删除实体或者修改了实体,都要执行数据迁移。表示与上一版本的区别。初始项目的时候,添加第1个版本


步骤:
visual studio2022—>工具—>NuGet包管理器—>程序包管理器控制台—>选择默认项目(Model),输入命令 Add-Migration 数据库版本名,如:Add-Migration cms1,回车确认执行


注意:
①每次执行Add-Migration命令,数据库版本名(号)要比上一个版本大
②版本名称建议格式:数据库名+版本号,如cms1

5、重新生成项目,运行web项目,查看数据库表是否生成,浏览器访问。

运行效果

C#
1
https://gitee.com/qinyongcheng/NetCoreFast.git
git@gitee.com:qinyongcheng/NetCoreFast.git
qinyongcheng
NetCoreFast
NetCoreFast
NET6

搜索帮助