笔记源于课堂编写:BiliBili
源视频教程:https://www.bilibili.com/video/BV1Z4411A7Qc

一、项目分层架构

1.实体层【BlogSystem.Models】

1.新建【解决方案】和【类库项目】,使用NuGet程序包下载【EntityFramework】
005.1-ASP.NET MVC5博客项目实战 - 图1
005.1-ASP.NET MVC5博客项目实战 - 图2
2.设计数据表结构,这里使用的是代码优先,然后写对应的类;写了一个公共的基类,然后每个实体都继承自该基类;
005.1-ASP.NET MVC5博客项目实战 - 图3
3.创建上下文对象,该类继承自【DbContext】,实现构造函数,然后重新基类的【OnModelCreating】方法,然后创建实体,并在上下文类中注册一下写的实体。
005.1-ASP.NET MVC5博客项目实战 - 图4
005.1-ASP.NET MVC5博客项目实战 - 图5
4.在【App.config】中写连接字符串
005.1-ASP.NET MVC5博客项目实战 - 图6
5.写好之后,然后按【Ctrl+Shift+B】进行编译,也就是生成解决方案;
6.最后打开【程序包控制台】:在【工具】——>【GuGet包管理工具】——>【程序包管理控制台】输入以下命令:
(1)打开:enable-migrations
005.1-ASP.NET MVC5博客项目实战 - 图7
(2)添加:add-migration ‘备注’
005.1-ASP.NET MVC5博客项目实战 - 图8
(3)更新数据库:update-database
005.1-ASP.NET MVC5博客项目实战 - 图9
7.然后打开数据库,可以看到数据表创建成功了。
005.1-ASP.NET MVC5博客项目实战 - 图10
8.注意:如果这个【这些文件】文件需要在别的电脑执行,直接将这个项目拷贝在需要运行的电脑上,执行【update-database】即将需要的内容创建。
(因为我这个项目提交到了Git上,在自己电脑和公司电脑上同时学习,所以需要同步)
005.1-ASP.NET MVC5博客项目实战 - 图11
005.1-ASP.NET MVC5博客项目实战 - 图12

2.数据访问 接口层【BlogSystem.IDAL】

1.先创建一个类库,名为【BlogSystem.IDAL】
2.写一个接口,名为【IBaseService】;该接口有一个泛型T,继承自【BaseEntity】,然后接口继承自【IDisposable】;最后写具体的接口类;
3.该层需要引入【BlogSystem.Models】层;

4.写一个有关【用户】操作的接口层,创建一个接口名为【IUserService】;需继承自【IBaseService

3.数据访问 实现层【BlogSystem.DAL】

1.先创建一个类库,名为【BlogSystem.DAL】
2.写一个类,名为【IBaseService】;该接口有一个泛型T,继承自【BaseEntity】接口,然后该类需实现自【 IBaseService】接口;最后写具体的实现类;
3.使用构造函数处理上下文类
005.1-ASP.NET MVC5博客项目实战 - 图13
4.写一个方法实现可被销毁
005.1-ASP.NET MVC5博客项目实战 - 图14
5.写一个有关【用户】操作的实现层,创建一个实现类名为【UserService】;需继承自【: BaseService】,并实现【IUserService】接口;
6.主要实现时的构造函数:
005.1-ASP.NET MVC5博客项目实战 - 图15

4.Dto层【BlogSystem.Dto】

1.先创建一个类库,名为【BlogSystem.Dto】
2、创建一个类,名为【UserInformationDto】,用来展示具体的数据;

5.业务逻辑 接口层【BlogSystem.IBLL】

1.先创建一个类库,名为【BlogSystem.IBLL】
2.写一个接口,名为【IUserManager】,写具体的接口业务;
3.该层需要引入【BlogSystem.IDAL】层和【BlogSystem.Dto】;

6.业务逻辑 实现层【BlogSystem.BLL】

1.先创建一个类库,名为【BlogSystem.BLL】
2.写一个实现类,名为【UserManager】;该类需实现【IUserMangaer】接口。

7.UI层【BlogSystem.MvcSite】

1.创建一个【ASP.NET Web 应用程序(.NET Framweork)】,选择【Web应用程序】;
2.引入【BLL】【Dto】【IBLL】层
3.将【BlogSystem.DAL】层中的【App.config】中部分内容拷贝到UI层的App.config:005.1-ASP.NET MVC5博客项目实战 - 图16
4.然后写具体的显示操作

二、课堂笔记

1.项目中的三个实体的作用?

(1)EF:对数据库操作(实体模型)
(2)Dto:传输数据(视图模型)
(3)ViewModel:用来校验

2.如何使用杨涛老师的【Webdiyer.MVCPager】分页控件?

1.在【Blogsystem.MvcSite】UI层,右击点击【管理NuGet程序包】
005.1-ASP.NET MVC5博客项目实战 - 图17
2.然后搜索【Webdiyer.MVCPager】点击【下载】
005.1-ASP.NET MVC5博客项目实战 - 图18
3.在【控制器】中修改代码(红色框框是修改的数据)。
005.1-ASP.NET MVC5博客项目实战 - 图19
4.在【视图】中修改的代码。
005.1-ASP.NET MVC5博客项目实战 - 图20
005.1-ASP.NET MVC5博客项目实战 - 图21
5.最后看效果
005.1-ASP.NET MVC5博客项目实战 - 图22
6.为了方便大家学习,附上源代码:@滔滔程序猿

3.使用富文本编辑器

1.这个问题有2种解决方案
005.1-ASP.NET MVC5博客项目实战 - 图23
(1)将所有的有危害字符进行转义。
(2)强行吧服务器接收部分,告诉服务器这是没有危害的。
005.1-ASP.NET MVC5博客项目实战 - 图24

2.显示富文本时:
005.1-ASP.NET MVC5博客项目实战 - 图25

3.在页面生成地址
005.1-ASP.NET MVC5博客项目实战 - 图26
上一篇

004.1-Blazor WebAssembly极简入门教程

下一篇

006.1-DDD实战领域驱动设计