系列目录html
注:阅读本文,须要阅读本系列的以前文章 代码生成器下载地址(文章开头处) 数据库
接下来咱们创建数据库的表和各层的代码ide
咱们只须要两张表,文章列表(MIS_Article)和类别表(MIS_Article_Category)spa
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
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
数据库执行表以后,并更新到EF。3d
1.新建项目类库,App.MIS.IBLL,App.MIS.BLL,App.MIS.IDAL,App.MIS.DAL和App.Models下的MIS文件夹(并进行相互的引用,引用参照DAL,BLL层)code
2.打开咱们的代码生成器生成文章列表(MIS_Article)和类别表(MIS_Article_Category)的各层,并放入咱们的类库,而后实行注入到系统htm
注:生成器能生成增删改查blog
最后生成目录以下所示排序
3.咱们此次使用区域,使用区域最大的好处在于项目分离图片
新建区域,在Areas上右键新建区域,输入MIS,之后咱们一个区域表明的是一个子系统!
能够扩展CMS(内容管理系统) CRM(客户管理系统)等系统实现项目分离
其中的ArticleController和CategoryController ManageArticleController MyArticleController对应的是上一篇导航模块里面的地址连接
其中ManageArticle是管理员能看到全部文章的模块和具备审核功能,MyArticle只能看到本身发布的,你能够把这个发布系统,当作是一个内部的文章共享系统
4.编译系统,看看有无引用出错等信息,并修改,Easy to you!
如今估计能够运行系统,并能获取简单的视图了
第一次生成并不能生成我下面这种效果,须要再加一些特效,我下面是已经审核过的会表为蓝色。
下一节,kindeditor在MVC中使用