介绍

上一篇介绍 《.NETCore 基于 dbfirst 体验快速开发项目》,讲得不太清楚有些多人没看懂。这次吸取教训,将一个简易商城做为案例,现实快速开发。

本案例用于演示或学习,不具有商业价值。

必备环境

1、node、node、node,重要的说三遍,现代开发必备环境之一,安装文件大小不过十几兆。

2、dotnet-SDK 2.1 +

3、sqlserver 2005 +,或者 sqlserver express

4、genms 命令,安装方法:dotnet tool install genms -g

特别说明 genms

genms 是一个开源的,依据sqlserver数据库快速开发生成工具。

生成原则基于ado.net包装,完成每种数据类型挖掘、数据缓存自动管理、链式查询语法、高可用读写分离等繁琐工作。

设计数据库模型

这次我们选择 sqlserver 存储数据,使用【Microsoft SQL Server Manaement Studio】自带的【数据库关系图】建表,建好表如下:

选择工作目录

由于是demo学习项目,我们选择在桌面创建目录【genms_shop】,在文件窗口地址栏输入cmd回车,如下图。

使用 genms 首次生成完整的项目

假设我们的 sqlserver 服务器就在本地,那么使用如下命令:

genms --help

genms . -D shop -N es -R -A -S

很快就生成好了,genms 准备执行开发环境初始化,如果首次执行 npm install -g gulp-cli 可能有些慢,如图:

如无意外会自动运行该项目,打开浏览器访问 http://localhost:5000/ 如图:

预览运行项目

这是 genms 生成的后台管理系统,现实繁琐的增删查改,我们尝试增加【分类】数据体验下操作,如图:

添加几次数据后,回到 Category 首页查看如图:

再来看看 goods 页面,和添加一个 goods:

总结

在当今,面向 dbfirst 开发的思想比较”落后“,许多同行在对比他们的同时,却忽略了什么是结果导向。技术都是实现业务的工具,不管是 code first 还是 dbfirst 都是为解决业务而存在。

genms 可以快速更新生成的代码,现实了缓存、读写分离(故障无感知切换)等等优势,这个开发模式我已经使用了很多年,并且会一直坚持下去。

本文demo源码:https://github.com/2881099/genms_shop

开源地址:https://github.com/2881099/dotnetgen_sqlserver

感谢支持开源的你们,谢谢观赏!!

.NETCore 快速开发做一个简易商城的更多相关文章

  1. YiShop_做一个b2c商城要多少钱

    [YiShop商城系统]做一个b2c商城要多少钱?是企业在做一个b2c商城最关心的问题.每个企业都是想用最少的钱做一个好的b2c商城.但企业这种想法可能在现实中是无法实现的.网站这种产品现实中是一分钱 ...

  2. 快速开发第一个SpringBoot应用

    通过笔者这段实践SpringBoot的学习,发现自从使用了SpringBoot后,就再也回不去SpringMVC了,因为相比于SpringMVC,SpringBoot真是太高效率了.下面我们看看它效率 ...

  3. 如何快速开发出一个高质量的APP——创业谈

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括iOS,Android, 先,呵呵,一下, 大概预估了一 ...

  4. 【创业积累】如何快速开发出一个高质量的APP

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括ios,android, 先,呵呵,一下, 大概预估了一 ...

  5. python之做一个简易的翻译器(一)

    平时经常在网上翻译一些单词,突发奇想,可不可以直接调某些免费翻译网站的接口呢?然后做一个图形界面的翻译小工具?下面开始实践 1.先找一下有哪些免费翻译的接口 百度了一下关键字“免费翻译接口”,然后找到 ...

  6. php扩展开发-实现一个简易的哈希表

    从一个简易的哈希表入手,会让你更好的理解php的哈希表,他们的本质是一样的,只是php的哈希表做了更多的功能扩展,php的哈希表是php语言的一个重要核心,大量的内核代码使用到哈希表. #includ ...

  7. 使用angular.js开发的一个简易todo demo

    前沿 在CVTE实习考察的一周里,接触到了angular,并在最后的一天任务里要求使用angular做一个功能主要包括创建.编辑.恢复.删除以及留言的todo demo,并支持响应式布局.因为之前没怎 ...

  8. python之做一个简易的翻译器(二)

    把写好的python程序转换为windows系统下可以运行的exe文件 使用pyinstaller命令来进行转换 1.首先安装pyinstaller 可以在pycharm中安装,也可以直接使用pip命 ...

  9. 用pyqt5做一个简易的音乐播放器

    需求 要求可以读取音频文档,有播放和暂停的功能 附上代码(1)UI界面 # -*- coding: utf-8 -*- # Form implementation generated from rea ...

随机推荐

  1. Java基础:Java的四种引用

    在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...

  2. Android 开发TCP协议时,报错NetworkOnMainThreadException

    设想是通过Android应用连接PC的TCP服务器,通过点击按钮连接服务器, 最终在点击按钮后报错:networkonmainthreadexception 解决办法: 在MainActivity文件 ...

  3. session熟知

    Session 服务器端保存会话信息的技术. //如何获得session HttpSession session = request.getSession(); //如何操作session sessi ...

  4. bootstrap-table 列宽问题解决

    <th style="width:120px" data-field="Cel1"><div class="th-inner &qu ...

  5. 数据库SQL语句中 查询选修了全部课程的学生的学号和姓名

    一.SQL语言查询选修了全部课程的学生的学号和姓名. 两种解决途径: 第一种: 我们可以表示为在SC表中某个学生选修的课程数等于C表中课程总数.相应的SQL语言如下: select S#,SNAME ...

  6. SpringMVC中Json数据格式转换

    1    @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为 ...

  7. Maven项目打包为jar的几种方式

    这里收集整理下以往打包MAVEN项目为JAR包的各种方式 直接打包,不打包依赖包 直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中.在POM中添加如下plugin即可,随后执行maven in ...

  8. 异常--java.text.ParseException: Unparseable date

    String d = "2015-05-19" SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy/MM/dd HH ...

  9. 使用Docker镜像和仓库

    https://www.rhel.cc/2014/11/50/   学习目标: 什么是镜像 docker镜像是由文件系统折叠加而成的,最低端是一个引导文件系统,即bootfs: 如何对镜像进行管理 使 ...

  10. 二十二、Hadoop学记笔记————Kafka 基础实战 :消费者和生产者实例

    kafka的客户端也支持其他语言,这里主要介绍python和java的实现,这两门语言比较主流和热门 图中有四个分区,每个图形对应一个consumer,任意一对一即可 获取topic的分区数,每个分区 ...