上一篇中,我們分析了Common中的幾個類,這幾個類都是輔助用的,其實不太重要,重要使我們今天 要分析的這幾個類,包括Entity、IDatabase、IEntityDataAccess,其中Entity作為所有實體類的基類, 更是重中之重,而IDatabase、IEntityDataAccess這兩個接口,則是為Entity類服務的。
先看那個熟悉的系統結構圖。
Entity、IDatabase、IEntityDataAccess這三個類型位於Business層中。該層目前的類圖如下:
從圖中可以看到,Business層包含Blog和BlogClass這兩個實體類,他們都繼承於Entity類;每個實體 類(包括Entity)都對應一個Entension類,這個類自然就是存放該類相關的Extension方法的地方,通常 是對IQueryable和IEntityAccess接口的擴展;另外IDatabase和IEntityAccess兩個接口定義了數據庫訪 問的方法。
一、Entity類。Entity是所有實體類的基類,是一個模板類不能是結構體的泛型類。它為所有的實體 類提供了ID、TimeStamp和IsNew的屬性,Validate、Save和Delete方法,每個方法又包含實際操作 ValidateAction、SaveAction和DeleteAction。