[置顶]信息发布系统 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>();
??? }
}
?
轉載于:https://www.cnblogs.com/wangzhanjianshe/archive/2011/07/23/2326407.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的[置顶]信息发布系统 Jquery+MVC架构开发(4)Model 层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj 2421 Constructin
- 下一篇: Windows Phone开发之路(9)