下面開始在我們的解決方案裡面增加實體.
這一層我個人感覺是跟資料庫的映射層次,有了這一層,各層訪問資料庫會方便很多,不然的話得用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>();
}
}