日期:2010-11-08 浏览次数:20437 次
今天用了一个多小时的时间学习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之类的对像,完成数据读取。
本人水平很菜,不怕大家扔砖……