首页 > 数据库 >ABP默认模板修改默认数据库类型并初始化数据库数据

ABP默认模板修改默认数据库类型并初始化数据库数据

时间:2024-08-14 18:28:34浏览次数:9  
标签:Web 项目 数据库 默认 ABP EntityFrameworkCore API

我这里以SQLite数据库为例,其他数据库类似。

1.下载模板

https://aspnetboilerplate.com/

 

根据自己的需求选择版本和前端框架并填写项目名称,点击“Create my project!”即可下载一个ABP标准模板项目。

 

 解压下载好的压缩包,找到目录:aspnet-core ,接下来就可以用VS打开.sln 解决方案了。

 

项目主要是分为下面几个项目分层

Application(应用层):应用层提供一些应用服务(Application Services)方法供展现层调用。一个应用服务方法接收一个DTO(数据传输对象)作为输入参数,使用这个输入参数执行特定的领域层操作,并根据需要可返回另一个DTO。

Core(领域层就是业务层):是一个项目的核心,所有业务规则都应该在领域层实现。这个项目里面,除了定义所需的领域实体类外,其实可以定义我们自己的自定义的仓储对象(类似DAL/IDAL),以及定义自己的业务逻辑层(类似BLL/IBLL),以及基于AutoMapper映射规则等内容。

EntityFrameworkCore(实体框架核心层): 这个项目不需要修改太多内容,只需要在DbContext里面加入对应领域对象的仓储对象即可。

Migrator(数据迁移层):辅助创建的控制台程序项目,如果基于DB First,我们可以利用它来创建我们项目的初始化数据库。

Web.Core(Web或者Web API的核心层) :提供了对身份登陆验证的基础处理,没有其他内容。

Web.Host (动态发布Web API的核心内容):动态发布Web API的核心内容,另外在Web API里面整合了Swagger,使得我们可以方便对Web API的接口进行调试。

Tests(单元测试) :提供了一些应用层对象的模拟测试,其中测试的数据库使用的是Entity Framework 的内存数据库,不影响实际数据库内容。

 

因为ABP模板默认使用的时SQL Server数据库配置,这里我要替换成SQLite数据库。

把项目 EntityFrameworkCore 里面的 Microsoft.EntityFrameworkCore.SqlServer包删掉,新增 Microsoft.EntityFrameworkCore.Sqlite包

 接下来就要修改数据库链接字符串了,下面三个项目中的 appsettings.json 文件中的数据库配置都要改掉。

这里根据自己的数据库文件路径和名称进行修改: "Data Source=D:\\数据库相关文件\\SQLite\\AbpDemo.db"

把 xxxxx.EntityFrameworkCore 这个项目设置为启动项

  接下来就要开始生成数据脚本了:   工具  > NuGet包管理器 > 程序包管理器控制台

在打开的程序包管理器控制台,默认项目,选中xxxxx.EntityFrameworkCore 

在开始执行脚本之前要先删除 xxxxx.EntityFrameworkCore 项目下的Migrations文件夹,因为这里面默认时SQL Server的脚本,对我来说不适用,如果换其他数据库也是一样要删除。

首先时生成脚本命令:Add-Migration Init

 通过控制台可以查看生成结果,并在 xxxxx.EntityFrameworkCore 项目的Migrations文件夹下查看脚本文件。

 可以看到脚本文件已经生成。

 接下来就是要同步到数据库了,另一个命令:Update-Database

 通过控制台查看到同步结果

 查询一下数据库,所有的表也都生成了,哦耶!

 

标签:Web,项目,数据库,默认,ABP,EntityFrameworkCore,API
From: https://www.cnblogs.com/Lytton/p/18359536

相关文章

  • sqlserver清理数据库日志并写作业定期执行
    清理数据库日志最终sql:USE[master]GOALTERDATABASElsrz_zjwb_wSETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASElsrz_zjwb_wSETRECOVERYSIMPLE--简单模式GOUSElsrz_zjwb_wGODBCCSHRINKFILE(N'lsrz_zjwb_log',2,TRUNCATEONLY)--日志文件逻辑名称......
  • 使用TcpDump 和 Wireshark 分析数据库异常
    MySQL:5.7.19OS:rhel6.3jdbc:mysql-connector-java-5.1.45.jarjava:17.0.7问题:MySQL数据库在修改character_set_server和表的对应字段为utf8mb4后,任然无法插入emoji表情1.抓包1、登陆MySQL服务器,确定实际使用的网卡;2、执行tcpdump-s65535-x-nn-......
  • [Python] 通过pymongo连接docker中并开启了副本集的mongodb数据库
    需要指定directConnection=true&authSource=atp-test参数,,否则会报连接副本集超时。在PyMongo中,directConnection参数可以决定客户端是否直接连接到MongoDB服务器,而不是自动发现所有的副本集成员。当directConnection设置为true时,客户端将只连接到MongoDB连接字符......
  • 数据库表对应的实体类上的相关注解
    一、解释这些注解是Java中常用的Lombok库和MyBatis-Plus框架提供的,用于简化实体类的开发和ORM映射。下面是对每个注解的解释:1.**@Data**:  -这是Lombok库的一个综合注解,包含了以下几个注解的功能:   -`@Getter`:为所有字段生成getter方法。   -`@Setter`:......
  • SSM基于的社区疫情防控管理信息系统的设计与实现khjit 本系统(程序+源码+数据库+调试部
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:居民,核酸检测,检测预约,检测记录,健康上报,出入信息,物品申请,物品派送开题报告内容一、课题背景与意义随着全球新冠疫情的持续蔓延,社区疫情防控成为......
  • SQLServer 错误: 8646,在数据库 'msdb',表 1077578877 的索引 ID 1 中找不到索引条目
    一台非生产服务器,磁盘被打满了,刚开始以为只是正常的磁盘使用增长满了,就清理了一部分空间出来,没过一会,就又满了,排查到sqlserver的错误日志文件一直在增 同时查看sqlserver错误日志,大量报错日志:[298]SQLServer错误:8646,在数据库'msdb',表1077578877的索引ID1中找不到索......
  • Thinkphp6多数据库实例跨库操作
    ThinkPHP6.env文件database.php数据库配置配置.env文件#默认数据库配置DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=default_dbDB_USERNAME=rootDB_PASSWORD=#第二个数据库配置DB2_CONNECTION=mysqlDB2_HOST=127.0.0.1DB2_PORT=3306DB2_DAT......
  • 在Centos系统源码安装postgreSQL数据库及postGIS扩展
    本次安装的各版本如下postgresql-13.5.targeos-3.10.2gdal-3.4.1proj-8.2.1postgis-3.2.1一、安装postgreSQL1.1安装包下载地址选postgresql-13.5.tar.gz。使用工具将下载好的包传到服务器。解压,进入解压目录[root@localhostlocal]#yuminstallgccreadline-develzlib-d......
  • 数据库服务器运维最佳实践
    数据库服务器运维是确保数据库系统高效、稳定和安全运行的关键环节。随着信息技术的不断发展,数据库系统的规模和复杂性不断增加,对运维工作的要求也越来越高。以下将从硬件选择、操作系统和文件系统优化、数据库版本选择、参数优化、数据备份与恢复、性能监控与调优、安全管......
  • Python轻量级 NoSQL 数据库之tinydb使用详解
    概要在现代应用开发中,使用数据库来存储和管理数据是非常常见的需求。对于简单的数据存储需求,关系型数据库可能显得过于复杂。TinyDB是一个纯Python实现的轻量级NoSQL数据库,专为嵌入式场景设计,适用于小型项目、原型开发和教学等场景。本文将详细介绍TinyDB库,包括其安......