今天花了一個多小時的時間學習ANF的DAL,感覺自己的對ANF有了進一步的了解,隨之也產生的疑問,在些點發表一點自己的體會。
using 本人很菜
(1)DAL(資料層)類別組成:
ANF的資料層主要是ForumsDataProvider(簡稱:FDP)和SqlDataProvider(簡稱:SDP),以下的「FDP」及「SDP」指上述名稱。
(2)DAL(資料層)類別關係:
ForumsDataProvider和SqlDataProvider這兩個Class,“FDP”是個abstract class,“SDP”繼承“FDP”,在“SDP”內提供實現了“FDP”的所有abstract的type object 和type method。
(3)DAL(資料層)類別職能:
「FDP」是base class,全部對資料庫的底層操作封裝在「SDP」內,底層透過IDataReader存取SP和TSQL,基本上一個SP內就封裝了TSQL-SIUD,透過Delete mark的方式刪除數據,透過傳入的Primary ID判斷是Update還是Insert操作。
(4)DAL(資料層)存取及操作資料庫步驟:
當某一個頁面要對資料進行存取時,首先「SDP」透過查詢對像EntityClass對應的ArrayList或是ArrayList的封裝類,的Instance(被API Cache,本人認為是ANF提高資料庫讀取速度的主要手段) Get方法,透過「反射方式」反射建構-GetConstructor「FDP」的abstract的method和object(實際執行的還是「SDP」的方法),最後Bind給Repeater或DataList之類的物件,完成資料讀取。
本人水平很菜,不怕大家丟磚…
http://www.cnblogs.com/sellnet/archive/2006/08/31/491438.html