資訊發布系統 Jquery+MVC架構開發(4) Model 層 .

來源:互聯網
上載者:User

下面開始在我們的解決方案裡面增加實體.

這一層我個人感覺是跟資料庫的映射層次,有了這一層,各層訪問資料庫會方便很多,不然的話得用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>();

    }

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.