现阶段需要做一个小项目,体量很小,业务功能比较简单,就想到用最熟悉的.net来做,更何况现在.net core已经跨平台,也可以在linux服务器上部署。所以决定用.net core 3.1+mysql。为了起步更容易,用最新的abpV3(2020.6.4)来写,这样管理端也有了,api也有了,上手速度极快。不用最新的volo.abp的原因是,感觉,恩,纯粹是感觉,才更新到2.9版本,怕项目过程中遇到坑比较耗时间解决,就还是用原来的abp吧。

之前用abp写微服务框架的时候,.net core还处于2.1版本,现在已经都已经到3.1了。我的想法是基于.net core 3.1版本的abp,重新理一遍abp的相关知识,项目完成后把公共部分抽取出来开源。当然现在需求已经整理的差不多了,马上就要开始编码了。是不是少了点什么?恩,代码生成器,不管怎么样开发这种业务系统,代码生成器是必需品,不然手工重复的创建文件,复制粘贴,修改命名能把人整死。所以期间我也会把代码生成器发布出来,并等待合适的时机开源(主要是我好多年前写的东西,需要优化一下代码结构)

整个项目流程:后台框架选型->需求分析->原型设计->管理系统编码->小程序端编码

第一天,从官网下载了模板,先把他从sql server改为mysql,这个我在另一个博客已经写过一遍,下次搬过来。

这次遇到几个问题:

1.因为一开始没有mysql服务器,就用mssql做测试,结果一直GetAll接口报错

先查看日志:

'OFFSET' 附近有语法错误。
在 FETCH 语句中选项 NEXT 的用法无效。
关键字 'AS' 附近有语法错误。

想到数据库版本是mssql 2008 r2,可能是语法不被支持。后来看到这篇文章,猜想得到验证。

https://www.cnblogs.com/Zev_Fung/p/12034658.html

2.改为mysql后一直提示

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datetime2(6) NOT NULL,
`CreatorUserId` bigint NULL,
`DeleterUserId` bi' at line 3

解决方法是:把migrations文件夹下所有文件都要删除再add-migration,update-database,一开始没注意ModelSnapshot这个文件,一定要把这个也删掉,坑了我好久。

基于ABP做一个简单的系统——实战篇:1.项目准备的更多相关文章

  1. 基于ABP做一个简单的系统——实战篇:2.代码生成器

    上一篇正说着呢,代码生成器就来了. 1.适用于ABP官网的Startup Template V3.x的包含了登录.用户等页面的MPA应用模板2.当前view仅支持文本框生成,远期规划根据字段类型生成不 ...

  2. 基于ABP做一个简单的系统——实战篇:4.基于富文本编辑器,Razor模板引擎生成内容并导出Word 填坑记录

    起因 需求是这样的,有一种协议需要生成,协议的模板是可配置的,在生成过程中,模板中的内容可以根据约定的标记进行替换(就像mvc的razor模板一样).生成后的内容还需要导出成word或pdf. 常见的 ...

  3. 使用React并做一个简单的to-do-list

    1. 前言 说到React,我从一年之前就开始试着了解并且看了相关的入门教程,而且还买过一本<React:引领未来的用户界面开发框架 >拜读.React的轻量组件化的思想及其virtual ...

  4. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  5. Jmeter初步使用二--使用jmeter做一个简单的性能测试

    经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍 ...

  6. 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)

    使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Netw ...

  7. HTTP lab01 做一个简单的测试用 web页面

      做一个简单的测试用 web页面     1.安装httpd服务   yum install httpd   安装完httpd服务后,系统就自动生成了/var/www/html目录     创建一个 ...

  8. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截

    程序猿修仙之路--数据结构之你是否真的懂数组?   数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少. ...

  9. 基于PHP实现一个简单的在线聊天功能(轮询ajax )

    基于PHP实现一个简单的在线聊天功能(轮询ajax ) 一.总结 1.用的轮询ajax 二.基于PHP实现一个简单的在线聊天功能 一直很想试着做一做这个有意思的功能,感觉复杂的不是数据交互和表结构,麻 ...

随机推荐

  1. tpcc-mysql 试用

    percona 出的一个mysql压力测试工具,至于tpcc的话,是一个衡量事务处理能力的一个值.具体可以看老外对他的定义. http://www.tpc.org/tpcc/results/tpcc_ ...

  2. vue中事件代理

    由于在vue实例内部,this指向了实例本身,所以在编写事件代理的时候,用e.currentTarget引用绑定事件代理的元素,e.target引用事件目标元素.刚刚不注意想用this引用代理元素报错 ...

  3. PostgreSQL 安装PYTHON扩展,访问页面或者第三方程序

    应用场景当数据库中relation表中有数据插入.更新.删除操作,postgresql 调用第三方接口,进行处理.这里用pgsq 中python的扩展插件来实现. 1.安装PostgreSQL中的Py ...

  4. 最短Hamilton路径 数位dp

    最短Hamilton路径 #include<bits/stdc++.h> using namespace std; ; <<maxn][maxn]; int maps[maxn ...

  5. DPDK Mbuf Library(学习笔记)

    1 Mbuf库 Mbuf库提供了分配和释放缓冲区(mbufs)的功能,DPDK应用程序可以使用这些mbufs来存储消息缓冲. 消息缓冲存储在内存池中,使用Mempool库. 数据结构rte_mbuf通 ...

  6. php RSA和AES加密算法

    一.RSA加密 RSA只说PHP中的应用,详细的算法原理解释,请自行百度,或者参考(RSA加密算法-详细解释以及公钥加密为什么每次都不一样) 总结:公钥加密.私钥解密.私钥签名.公钥验签. 注意: 1 ...

  7. 每次找Internet选项感到抓狂?一键打开!

    WIN+R运行,输入inetcpl.cpl,就可以打开了!

  8. 十、理解JavaBean

    1. 理解Bean 1.JavaBean本身就是一个类,属于Java的面向对象编程. 2.在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求: (1) ...

  9. 对于近似有序序列(即除掉少数K个元素后是有序序列且K<<n),试分析直接插入排序,冒牌排序和简单选择排序的时间复杂度

    学弟问的一道数据结构的题,关于一些排序算法的时间复杂度. 针对近似有序序列, ①当使用直接插入排序时,其基本操作为数组中元素的移动.最好情况下,待排序列有序,无需移动,此时时间复杂度为O(n), 当为 ...

  10. JAVA自定义数据类型用法

    一,自定义数据类型的概念:    我们就拿一部手机进行分析,它能用来做什么呢?它可以打电话,上网,聊微信等,这些就是 手机所提供的功能,也就是方法:手机也有它的特征,如颜色.尺寸大小.品牌型号等,这些 ...