三 三層架構搭建

2021-08-28 07:46:09 字數 2953 閱讀 3431

一、搭建方式

兩個專案用公共運算元據類

方式一:

1、建立空專案解決方案,並新增web檔案加和三層架構類(擴充套件enum列舉類、common通用公共類、sqlhelp資料庫輔助類)

2、 web 裡面新建兩個專案

3、三層架構model 從動軟找實體類 ,dal用泛型,bll 用model和dal

注意點:model 則是乙個表對應乙個類檔案

dal和bll 只需要乙個 bll 傳參實體類 dal用泛型介面接受並處理。

因為三層自己搭建的 所以資料庫處理可以sql方式或者dos.rom框架來處理資料庫

方式二:

1、在解決方案下建立兩個mvc

2、 建立乙個sqlhelp 類庫

3、用現有的輪子ef建立運算元據庫

(三層的搭建專案和資料庫操作選擇(ef))
注意:ef必須存在類庫裡面,不可以存在資料夾下,所以第二步很重要。

警告:ef 還可以封裝 泛型

泛型:dal 層的處理

using dos.orm;

using lawoa.model;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace lawoa.dal

}}

bll

using lawoa.model;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace lawoa.bll

}}

控制器

model.userinfo userinfo = new model.userinfo();     //一、例項化實體類 //二、例項化 bll 類,bll這個方法是泛型,bll在呼叫dal運算元據庫的也是泛型 可以實現麼   答案:可以 

bll.bllbll = new bll.bll(); // 1、泛型類的時候 指定該類的userinfo實體類作為該類型別 ( 該類t為全域性的實體型別)

listresult= bll.fnselect(); //2、 並指定執行返回userinfo實體類結構的泛型變數

return json(result);

上面 有泛型 再寫sql 就沒有多大意義了

這是dos.orm關於資料庫的操作

using dos.orm;

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace wenshu.dal

#endregion

#region 更新一條資料

///

/// 更新一條資料

///

public

intupdate

(model.areas model)

#endregion

#region 刪除一條資料

///

/// 刪除一條資料

///

public

intdelete

(int areaid)

#endregion

#region 得到乙個物件實體

///

/// 得到乙個物件實體 資料

///

///

///

public

model.areas

getmodel

(string areaid)

#endregion

#region 根據條件獲取資訊

///

/// 根據條件獲取資訊(資料)

///

/// where條件

///

public list

getbywhere

(whereclip wc)

///

/// 根據條件獲取資訊(資料)

///

/// where條件

/// 頁碼

/// 每頁顯示數量

///

public list

getbywhere

(whereclip wc,

int pageindex,

int pagesize)

///

/// 根據條件獲取資訊(資料)數量

///

/// where條件

///

public

intgetbywherecount

(whereclip wc)

#endregion

#region 獲取頂級區域

public list

getall()

#endregion

#region 獲取頂級區域

public list

getbypid

(string pid)

public list

getbypidlinkin

(string pid)

#endregion

public

string

getareaid

(string areaname)

else

}catch}}

}

三層架構搭建

所謂的三層架構 控制層邏輯層 資料層當然會有乙個模型層 那麼就是四層 若是所有的訪問資料庫都用儲存過程 那麼就不需要模型層 三層就是為了 維護和可擴充套件性好一些 做 asp.net 快五年了,現在才算基本明白了三層架構,11 樓所講滴三層架構是俺兩年前滴理解,雖然用 model 取代了 datat...

如何搭建三層架構?(4)

1 編寫實體類user.cs 在模型層中,將預設的類名class1.cs重新命名為 user.cs 該實體類與資料庫bookshop中的表users相對應。實體類user.cs中部分 如下 2 編寫資料訪問類userservice 針對模型層中的每個實體類,資料訪問層有乙個對應的資料訪問類。例如,針...

三層架構初識和搭建

一 是什麼?1.表現層 ui 展現給使用者的介面,使用者在使用乙個系統的時候他的所見所得。主要表示web或winform方式,對使用者的請求接受,以及資料的返回。為client提 用程式的訪問。假設邏輯層相當強大和完好,不管表現層怎樣定義和更改。邏輯層都能完好地提供服務。2.業務邏輯層 bll 針對...