MVC+EFCore 项目实战-数仓管理系统1
项目背景及需求说明
这是一个数据管理"工具类"的系统,计划有三个核心功能:
1、通过界面配置相关连接字符串,查询数据库的表数据。
2、配置相关模板,生成数据库表。
可以界面填报或通过Excel导入导出填报表数据。
3、通过界面配置导出数据库表结构(数据字典)。
通过以上功能,在数据分析、可视化项目中,更方便的进行数据管理。
课程计划
项目需要用到的基础知识之前已有文章做介绍,如下:
(共20篇,其中1~10是基础知识介绍,11~20是专题知识介绍)
- MVC5+EF6 完整教程17--升级到EFCore2.0 @20170821
- MVC5+EF6 完整教程16--控制器详解 @20170503
- MVC5+EF6 完整教程15--使用DI进行解耦 @20170406
- MVC5+EF6 入门完整教程14--动态生成面包屑 @20160811
- MVC5+EF6 入门完整教程13--动态生成多级菜单 @20160530
- MVC5+EF6 入门完整教程12--灵活控制Action权限 @20160504
- 浅入浅出Lambda表达式 @20151201
- MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 @20150914
- MVC5+EF6 入门完整教程10:多对多关联表更新&使用原生SQL@20150521
- MVC5+EF6 入门完整教程9:多表数据加载@20150212
- MVC5+EF6 入门完整教程8 :不丢失数据进行数据库结构升级 @20141215
- MVC5+EF6 入门完整教程7 :排序过滤分页 @20141201
- MVC5+EF6 入门完整教程6 :分部视图(Partial View) @20141117
- MVC5+EF6 入门完整教程5 :UI的一些改造 @20141113
- MVC5+EF6 入门完整教程4 :EF基本的CRUD @20141104
- MVC5+EF6 入门完整教程3 :EF完整开发流程 @20141027
- MVC5+EF6 入门完整教程2 :从前端UI开始 @20141021
项目实战部分实际是系列文章的续集,考虑到编号太长了,我们重新开始编号。
之前的文章,由于种种原因(工作是项目制的, 经常需要管理多个项目进度,工作太忙没时间写),周期拉的太长,耽误了大家学习,现在经常还有园友加QQ群问问题和查看源码(也很少有时间回答,大部分问题都是园友们互助),实在抱歉。
考虑到这些问题,实战部分的教程,准备每晚固定投入两小时,暑假期间完成初版,整个周期压缩在一个半月到两个月之间。 以开发速度为第一优先级, 围绕三个功能边设计边开发,快速迭代完成第一版本。
文章更新时间为每周的周二和周五(如遇节假日顺延)。
课程学习方法建议
加拿大畅销书作家麦尔坎·葛拉威尔在《异数》一书中指出:"人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。只要经过1万小时的锤炼,任何人都能从平凡变成超凡。"他将此称为"一万小时定律"。
这里我要强调的并非是练习时间,而是练习方法。按每天三小时算,一万小时大概需要10年不间断的练习。如何缩短一万小时?答案是 "刻意练习"(deliberate practice)。
首次提出"刻意练习"这个概念的是佛罗里达大学心理学家 K. Anders Ericsson。
这套练习方法的核心假设是,专家级水平是逐渐地练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成。
这些小任务必须是受训者正好不会做,但是又正好可以学习掌握的。
完成这种练习要求受训者思想高度集中。
"刻意练习"的理论目前已经被广泛接受,我们总结一下它的特点。
1、只在"学习区"练习
练习的精髓是要持续地做自己做不好的事。
心理学家把人的知识和技能分为嵌套的三个圆形区域:
最内一层是"舒适区",是我们已经熟练掌握的各种技能;
最外一层是"恐慌区",是我们暂时无法学会的技能;
二者中间则是"学习区"。

只有在学习区里面练习,一个人才可能进步。
有效的练习任务必须精确的在受训者的"学习区"内进行,具有高度的针对性。
因此我们首先必须发现自己的学习区,找到我们最需要改进的地方。 只在学习区练习,是一个非常强的要求。一旦已经学会了某个东西,就不应该继续在上面花时间,应该立即转入下一个难度。
2、大量重复训练
从不会到会,秘诀是重复。
比如MBA课程的一个典型特点就是把不常见的高难度事件(商业决策)重复化。在商学院里一个学生每周可能要面对20个真实发生过的商业案例,学生们首先自己研究怎么决策,提出解决方案,最后老师给出实际的结果并作点评。
学习商业决策的最好办法不是观察老板每个月做两次决策,而是自己每周做20次模拟的决策。疫情放假期间,我上了一些音乐学习的网课,在音乐训练中,比较强调"分块"练习。首先你要把整个动作或者整首曲子过一遍,看专家是怎么做的。然后把它分解为很多小块,一块一块地学习掌握。
3、持续获得有效的反馈
要学会自己给自己当教练。
优秀的学习者都有很强的自学能力,对他们而言,老师最重要的作用是提供即时的反馈。 优秀的学习者会以一个旁观者的角度观察自己,每天都有非常具体的小目标,对自己的错误极其敏感,并不断寻求改进。
4、精神高度集中
请高效率的学习,不要磨洋工。刻意练习没有"寓教于乐"这个概念,完全投入的状态是很累的。曾经有个著名小提琴家说过,如果你是练习手指,你可以练一整天;可是如果你是练习脑子,你每天能练两个小时就不错了。
总结
1、这是一个非常实用的数据管理工具类软件,初版完成后你可以方便的去使用和扩展功能。
2、计划每周更新两次(周二和周五,节假日顺延),初版大约两个月完成。
3、人生苦短。不断迭代你的学习方法,刻意练习。
祝大家学习进步 :)
MVC+EFCore 项目实战-数仓管理系统1的更多相关文章
- MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore
本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...
- MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览
上篇我们完成了数据源保存功能,并顺便看了保存后的数据源列表展示功能. 本篇我们开始开发预览功能,用户预览主要步骤: 1.点击数据源卡片预览按钮 2.查看数据源包含的表 3.点击表名,预览表中数据 ...
- MVC + EFCore 项目实战 - 数仓管理系统9 - 数据源管理完结篇
我们完成数据源管理的剩余部分:点击表名,预览表中数据. 我们需要完成的是下图的方框部分. 考虑到这块以后可能复用,我们将她独立出来,做成 view component. 新建 view compone ...
- MVC + EFCore 项目实战 - 数仓管理系统3 - 完成整体样式风格配置
上次课程我们新建了管理员的模板页. 本次我们就完善这个模板页,顺便加入样式和一些基本的组件,配置好整个项目的UI风格. 一.引入 共用的css和js文件 后端库用nuget, 前端库用libman ...
- MVC + EFCore 项目实战 - 数仓管理系统4 – 需求分解
上次课程我们完成了项目基本的UI风格配置. 现在就开始进入我们的需求开发,我们先捋一下需求. 一.总体需求说明 项目背景第一篇文章已有介绍,我们回顾一下. 这是一个数据管理"工具类" ...
- MVC + EFCore 项目实战 - 数仓管理系统5 – 菜单配置及里程碑划分
上次课程我们完成了需求的梳理. 我们根据梳理的需求把菜单配好,另外我们把项目里程碑也配置在系统中,开发和管理都在系统中,形成无文档化管理. 一.菜单配置 根据我们的归纳图,我们先将菜单配置好. 我们遵 ...
- MVC + EFCore 项目实战 - 数仓管理系统7 - 数据源管理中--新增数据源
上篇我们完成了数据源列表展示功能(还未测试). 本篇我们来新增数据源,并查看列表展示功能. 接上篇: 二.数据源管理功能开发 2.新增数据源 我们用模态对话框来完成数据源的新增,效果如下图: 我们 ...
- MVC + EFCore 项目实战 - 数仓管理系统6 – 数据源管理上--使用view component完成卡片列表
上次课程我们完成了菜单的配置和开发里程碑的划定. 按照计划,我们先来开发数据仓库管理中的数据源管理(对应菜单为:数据仓库管理 / 数据源),首批支持的数据源是SQL SERVER数据库. 一.数据源管 ...
- Asp.Net Core 项目实战之权限管理系统(6) 功能管理
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
随机推荐
- Linux kernel学习(序)
伟大的Linux kernel有几大重要模块: 1.文件系统(File System) 2.进程调度(Process Scheduler) 3.内存管理(Memory Management) 4.进程 ...
- Java实现 第十一届 蓝桥杯 (本科组)省内模拟赛
有错误的或者有问题的欢迎评论 计算机存储中有多少字节 合法括号序列 无向连通图最少包含多少条边 字母重新排列 凯撒密码加密 反倍数 正整数的摆动序列 螺旋矩阵 小明植树 户户通电 计算机存储中有多少字 ...
- C# winform 学习(三)
目标 1.windows程序简介 2.窗体的常用属性和事件 3.显示消息框 4.多窗体应用 一.程序简介 1.特点:所见即所得,通过事件实现用户与界面的交互 2.程序结构 1)窗体文件(每个窗体至少有 ...
- Java实现 蓝桥杯VIP 算法训练 幂方分解
问题描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步 ...
- Java实现 LeetCode 230 二叉搜索树中第K小的元素
230. 二叉搜索树中第K小的元素 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数. ...
- java实现子集和问题
1 问题描述 求n个正整数构成的一个给定集合A = {a1,a2,a3,-,an}的子集,子集的和要等于一个给定的正整数d.请输出所有符合条件的子集. 2 解决方案 2.1 全排列思想求解 方法1:首 ...
- java实现第五届蓝桥杯扑克序列
扑克序列 AA223344,一共4对扑克牌.请你把它们排成一行. 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌. 4A3A2432, 2342A3A4 请填写出 ...
- Java—JDBC向mysql数据库中给某个表添加数据时,会遇到的问题,如下
解析(jar包该放在那里,以及其它的操作): 把jar包(驱动)添加到自己的项目中,最好新建一个文件夹,再把jar包(驱动包)添加到这个所新建的文件中 1.先建好自己的项目,再新建一个文件夹,如下: ...
- 在PyQt5中显示matplotlib绘制的图形
import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import * from plot_pyqt import PlotCanva ...
- [Linux之旅一] .NET Core 2.2部署到Docker中
第一步,使用VS2017或者VS2019创建.NET Core 2.2或3.1的项目,如下图: 在创建项目的时候记得勾选Docker支持,这样会自动创建Dockerfile文件,这个文件用于构建Doc ...