zoukankan      html  css  js  c++  java
  • 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中使用

  • 相关阅读:
    selenium+python常用函数
    不同网络层的协议与工具
    Loudrunner编写WinSocket接口测试脚本
    python常见问题汇总
    Appium简介及工作原理
    Http协议详解
    Selenium 工作原理
    HTTP与HTTPS有哪些区别?
    【Appium】Appium工作原理(2)
    MySQL 必知必会学习笔记(常用命令二)
  • 原文地址:https://www.cnblogs.com/ymnets/p/3730554.html
Copyright © 2011-2022 走看看