本次课程就正式进入开发部分。

首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解。

开发工具:vs 2019 或以上

数据库:SQL SERVER 2017 或以上

其他需要用到的我们在项目过程中再提。

一、新建 MVC项目

1、打开VS 2019,Create a new project , 选择ASP.NET Core Web Application

2、填入项目名称相关信息

3、选择MVC模板,点击 Create 完成项目新建。

项目名 DWMS 代表 data warehouse management system ,即数据仓库管理系统。

二、新建 管理员模板页

1、右键 Views/Shared 文件夹,依次选择 Add / New Item 菜单

2、选择 Razor Layout, 填入模板页名称 _LayoutAdmin

我们对生成的文件稍作修改,增加 css 和 js 的添加入口,如下图:

三、配置 EFCore

1、安装并配置好EF

进入 NuGet Package Manager,安装如下两个包:

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.SqlServer

2、新建Model用来测试EF

打开文件夹 Models,增加类SysUser

默认EF生成的表名会是复数,我们在类的开头指定表名为单数:[Table("SysUser")]

3、新建操作Context的类

新建文件夹Data,用来放置EF相关的类。

在文件夹内新建 DefaultContext, 继承于 DbContext, 用来管理实体和数据库中表的联系。

4、将 context 增加至 DI并生成数据库

ASP.NET Core默认实现了DI,服务在启动时进行注册,通过构造函数的方式获取。

4.1 打开Startup.cs, 注册context, 如下方框处

4.2 下面来增加配套的 DefaultConnection。

打开appsettings.json文件,增加配置节:

4.3 添加测试数据,生成数据库结构

Data文件夹中新建静态类DbInitializer,新增方法Initialize 用来初始化数据。

修改下 Program类中的Main方法,调用我们新建的Initialize 方法

CTRL+F5运行一下网站,可以看到数据库中已有数据。

总结

本次教程我们搭建了项目DWMS(data warehouse management system)的基本框架。 包括新建项目、新建管理员模板页、配置EFCore.

其中 EFCore 3.x 和 之前的EFCore 2.x 的配置风格有些许差异,放在Program的Main函数里(之前2.0一般放在Startup中的Config方法里),职责分离的更加清晰。

祝大家学习进步 :)

最新文章

  1. Atitit 项目语言的选择 java c#.net  php??
  2. autofac与unity注册类型的几个小区别
  3. System.UnauthorizedAccessException Access to the path "/etc/mono/registry" is denied.
  4. 记一次使用jQuery清空元素
  5. 【leetcode❤python】191. Number of 1 Bits
  6. ssh原理
  7. 无效的过程调用或参数: 'Instr'解决方法
  8. jquery 图片滚动
  9. 用代码定位硬盘上的文件(使用ShellExecute执行explorer /select命令,其它参数也很全)
  10. Android启动另一个APP时,注意disable与enable的问题
  11. jquery中如何以逗号分割字符串_百度知道
  12. Mysql--alter命令小特点
  13. JustOj 2040: 王胖子买零食 (贪心)
  14. 解决UnicodeEncodeError。python的docker镜像增加locale 中文支持
  15. [廖雪峰] Git 分支管理(3):分支管理策略
  16. Gym - 101550A Artwork (并查集在线做法)
  17. js函数技巧
  18. pmm 监控mysql、mongodb、系统
  19. Golang配置文件解析-oozgconf
  20. NHibernate初学一之简单增删改查

热门文章

  1. Swift 语法总结
  2. POJ 2810:完美立方
  3. 重学 Java 设计模式:实战组合模式(营销差异化人群发券,决策树引擎搭建场景)
  4. 【图机器学习】cs224w Lecture 16 - 图神经网络的局限性
  5. Python3 源码阅读 - 垃圾回收机制
  6. css固定宽高DIV内部元素垂直居中的方法
  7. Java学习之IO流及网络编程
  8. (八)跑完用例后通过maven发送邮件
  9. 技术周刊 · Lighthouse 测试报告生成
  10. linux服务器安装宝塔以及一些坑