ASP.NET MVC5+EF6+EasyUI 后台管理系统(35)-文章发布系统②-构建项目
注:阅读本文,需要阅读本系列的之前文章 代码生成器下载地址(文章开头处)
接下来我们建立数据库的表和各层的代码
我们只需要两张表,文章列表(MIS_Article)和类别表(MIS_Article_Category)
USE [AppDB]
GO /****** Object: Table [dbo].[MIS_Article] Script Date: 05/15/2014 17:33:15 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO SET ANSI_PADDING ON
GO CREATE TABLE [dbo].[MIS_Article](
[Id] [varchar](50) NOT NULL, --主键
[ChannelId] [int] NOT NULL, --频道(预留字段,以后可能需要扩张)
[CategoryId] [varchar](50) NOT NULL, --类别
[Title] [varchar](100) NOT NULL, --标题
[ImgUrl] [varchar](255) NULL, --图片
[BodyContent] [varchar](8000) NULL, --内容
[Sort] [int] NULL, --排序
[Click] [int] NULL, --访问次数
[CheckFlag] [int] NOT NULL, --是否审核
[Checker] [varchar](50) NULL, --审核人
[CheckDateTime] [datetime] NULL, --审核时间
[Creater] [varchar](50) NULL, --创建人
[CreateTime] [datetime] NULL, --创建时间
CONSTRAINT [PK__MIS_Arti__3214EC07038683F8] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO SET ANSI_PADDING OFFQ
GO ALTER TABLE [dbo].[MIS_Article] WITH CHECK ADD CONSTRAINT [FK_MIS_Article_MIS_Article_Category] FOREIGN KEY([CategoryId])
REFERENCES [dbo].[MIS_Article_Category] ([Id])
GO ALTER TABLE [dbo].[MIS_Article] CHECK CONSTRAINT [FK_MIS_Article_MIS_Article_Category]
GO ALTER TABLE [dbo].[MIS_Article] WITH CHECK ADD CONSTRAINT [FK_MIS_Article_SysUser] FOREIGN KEY([Creater])
REFERENCES [dbo].[SysUser] ([Id])
GO ALTER TABLE [dbo].[MIS_Article] CHECK CONSTRAINT [FK_MIS_Article_SysUser]
GO ALTER TABLE [dbo].[MIS_Article] WITH NOCHECK ADD CONSTRAINT [FK_MIS_Article_SysUser1] FOREIGN KEY([Checker])
REFERENCES [dbo].[SysUser] ([Id])
ON DELETE SET NULL
GO ALTER TABLE [dbo].[MIS_Article] CHECK CONSTRAINT [FK_MIS_Article_SysUser1]
GO ALTER TABLE [dbo].[MIS_Article] ADD CONSTRAINT [DF_MIS_Article_CheckFlag] DEFAULT ((0)) FOR [CheckFlag]
GO ALTER TABLE [dbo].[MIS_Article] ADD CONSTRAINT [DF__MIS_Artic__Creat__056ECC6A] DEFAULT (getdate()) FOR [CreateTime]
GO
MIS_Article
USE [AppDB]
GO /****** Object: Table [dbo].[MIS_Article_Category] Script Date: 05/15/2014 17:37:44 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO SET ANSI_PADDING ON
GO CREATE TABLE [dbo].[MIS_Article_Category](
[Id] [varchar](50) NOT NULL, --主键
[ChannelId] [int] NULL, --预留字段
[Name] [varchar](100) NOT NULL, --类别名
[ParentId] [varchar](50) NULL, --上级ID
[Sort] [int] NULL, --排序
[ImgUrl] [varchar](255) NULL,--图片
[BodyContent] [varchar](8000) NULL,--描述
[CreateTime] [datetime] NULL,--创建时间
[Enable] [bit] NOT NULL, --是否启用
CONSTRAINT [PK__MIS_Arti__3214EC077DCDAAA2] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO SET ANSI_PADDING OFF
GO ALTER TABLE [dbo].[MIS_Article_Category] WITH NOCHECK ADD CONSTRAINT [FK_MIS_Article_Category_MIS_Article_Category] FOREIGN KEY([ParentId])
REFERENCES [dbo].[MIS_Article_Category] ([Id])
GO ALTER TABLE [dbo].[MIS_Article_Category] NOCHECK CONSTRAINT [FK_MIS_Article_Category_MIS_Article_Category]
GO ALTER TABLE [dbo].[MIS_Article_Category] ADD CONSTRAINT [DF__MIS_Artic__Paren__7FB5F314] DEFAULT ((0)) FOR [ParentId]
GO ALTER TABLE [dbo].[MIS_Article_Category] ADD CONSTRAINT [DF__MIS_Artic__Creat__00AA174D] DEFAULT (getdate()) FOR [CreateTime]
GO
MIS_Article_Category
数据库执行表之后,并更新到EF。
1.新建项目类库,App.MIS.IBLL,App.MIS.BLL,App.MIS.IDAL,App.MIS.DAL和App.Models下的MIS文件夹(并进行相互的引用,引用参照DAL,BLL层)
2.打开我们的代码生成器生成文章列表(MIS_Article)和类别表(MIS_Article_Category)的各层,并放入我们的类库,然后实行注入到系统
注:生成器能生成增删改查

最后生成目录如下所示

3.我们这次使用区域,使用区域最大的好处在于项目分离
新建区域,在Areas上右键新建区域,输入MIS,以后我们一个区域代表的是一个子系统!
可以扩展CMS(内容管理系统) CRM(客户管理系统)等系统实现项目分离

其中的ArticleController和CategoryController ManageArticleController MyArticleController对应的是上一篇导航模块里面的地址链接

其中ManageArticle是管理员能看到所有文章的模块和具有审核功能,MyArticle只能看到自己发布的,你可以把这个发布系统,看成是一个内部的文章共享系统
4.编译系统,看看有无引用出错等信息,并修改,Easy to you!
现在估计可以运行系统,并能获取简单的视图了
第一次生成并不能生成我下面这种效果,需要再加一些特效,我下面是已经审核过的会表为蓝色。

下一节,kindeditor在MVC中使用
ASP.NET MVC5+EF6+EasyUI 后台管理系统(35)-文章发布系统②-构建项目的更多相关文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(60)-系统总结
系列目录 前言: 起初写这个框架的时候,可以说在当时来说并不是很流行的设计模式,那是在2012年,面向对象的编程大家都很熟悉, 但是“注入.控制反转(DI,IOC,依赖注入).AOP切面编程”新兴名词 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(28)-系统小结
系列目录 我们从第一节搭建框架开始直到二十七节,权限管理已经告一段落,相信很多有跟上来的园友,已经搭配完成了,并能从模块创建授权分配和开发功能了 我没有发布所有源代码,但在14节发布了最后的一次源代码 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)
开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 任务调度系统界面 http: ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(转)
开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 日程管理 http://ww ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入
系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试
1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台的BLL和DAL层 2:ASP.NET MVC5+EF6+Easy ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级
系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构
系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析
系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...
随机推荐
- .NET Core系列 :3 、使用多个项目
通过前面的两篇文章,我们已经知道如何创建新的项目,如何生成并运行我们的应用程序,也知道(大致) project.json 文件中的内容是什么意思.但大多数项目往往也需要多个项目或引用的类库.我们要创建 ...
- HTML中上传与读取图片或文件(input file)----在路上(25)
input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...
- WebApi接口 - 如何在应用中调用webapi接口
很高兴能再次和大家分享webapi接口的相关文章,本篇将要讲解的是如何在应用中调用webapi接口:对于大部分做内部管理系统及类似系统的朋友来说很少会去调用别人的接口,因此可能在这方面存在一些困惑,希 ...
- javascript数组查重方法总结
文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...
- 简记用ArcGIS处理某项目需求中数据的步骤
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目需求涉及如下几个步骤: a.矢量化 b.获取范围内要素 ...
- android 两种实现计时器时分秒的实现,把时间放在你的手中~
可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲 ...
- 介绍一款原创的四则运算算式生成器:CalculateIt2
家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...
- 验证管理员权限(C#)
参考页面: http://www.yuanjiaocheng.net/webapi/test-webapi.html http://www.yuanjiaocheng.net/webapi/web-a ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- const let,console.log('a',a)跟console.log('a'+a)的区别
const 创建一个只读的常量 let块级作用域 const let重复赋值都会报错 console.log('a',a) a console.log('a'+a) a2 逗号的值会有空格:用加号的值 ...