信息发布系统 Jquery+MVC架构开发(4)Model 层

 

下面开始在我们的解决方案里面增加实体.

这一层我个人感觉是跟数据库的映射层次,有了这一层,各层访问数据库会方便很多,不然的话得用DataSet或DataReader的直接访问了。理解为持久化对象就ok了。

在这里我们开始使用动软.Net代码生成器,这个网上很多,想使用的下载就可以了,更好的是CodeSmith 只不过这个工具我们需要自定义模板。用代码生成器是为了我们自己一手写重复的代码,仅此而已。

安装好动软.Net代码生成器后,进入下面的界面:

首先在左边的树菜单新增服务器,如下:

 

选择下一步:

输入相对应的服务器,用户/密码,数据库,选择确定即可。然后在左侧新建好的服务器选择连接:

选择其中的info表:

选择单表代码生成器:

选择model,点击生成代码:

 

然后把生成的代码放到我们的解决方案里面即可,其他的表也是类似的操作。

注意由于很多项目中命名规则的问题,我们可能需要自定义模板,动软的代码生成器现在增加了模板,大伙可以研究下:

选择右边的模板管理下的代码模板(选择一个双击):

改动模扳生成的代码如下:

说到这里就得介绍下大名鼎鼎的CodeSmith 了,这框代码生成工具需要我们自己编写模板,然后根据我们自己的模板生成自己需要的代码:

这样的话灵活性很高,问题是我们需要学习下模板的编写,呵呵,好消息是模板同样是c#语言编写。

基本的实体类定义好以后,我们为了结果类,如下:

  public class InfoResult

    {

        public int Code = 0;

        public string Message = string.Empty;

}

这样我们就可以把自己定义好的业务操作信息和异常信息放到这个类中了,正常情况下,我们可以定义code=0 ,如果出现异常,我们可以把code定义为100,Message为:

InfoResult  result=new InfoResult  ()

result.Message = ex.Message + ex.StackTrace + ex.InnerException;

同时为了支持分页我们需要自己定义一个分页类:

    public class PageInfo

    {

        public int startNum { get; set; }

        public int endNum { get; set; }

        public int Max { get; set; }

        public int pageSize { get; set; }

        public int pageIndex { get; set; }

    }

 

为了得到查询列表我们需要类的组合:

比如:
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace InfoPub.Modal

{

    public class SearchInfo

    {

        /// <summary>

        /// infoname

        /// </summary>           

        public string Infoname

        {

            get;

            set;

        }

        /// <summary>

        /// TypeId

        /// </summary>           

        public int TypeId

        {

            get;

            set;

        }

        /// <summary>

        /// CreateId

        /// </summary>           

        public int CreateId

        {

            get;

            set;

        }

        /// <summary>

        /// BeginDate

        /// </summary>           

        public DateTime BeginDate

        {

            get;

            set;

        }

        /// <summary>

        /// EndDate

        /// </summary>           

        public DateTime EndDate

        {

            get;

            set;

        }

        public PageInfo pageInfo = new PageInfo();

    }

 

    public class InfoList

    {

        public PageInfo pageInfo = new PageInfo();

        public InfoResult infoResult = new InfoResult();

        public List<Info> infoList = new List<Info>();

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

似水流年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值