在winform開發框架的應用中,大多數的時候,我們都是採用固定的表名作為運算元據表的物件,但有時候,有些特殊的需要,需要動態指定表的名稱,如表名稱可能和年份有關係或者和登入使用者的身份有關係等等。本文介紹基於我的winform開發框架,介紹如何動態構造表名,實現向不同表獲取資料的操作實現。
例如:資料庫中有一些客戶資訊的表(customer),按照年份儲存,都是customer2012這樣格式的表,每次呼叫的時候需要告訴customer業務物件實際上去訪問哪個customer的表,比如customer2012或者customer2013,那麼我們應該如何操作才能達到這種效果呢?
首先我們來了解下整個winform開發框架的分層布局如下所示。其中介面層ui直接訪問bll層,不需要通過網路(wcf開發框架通過網路訪問資料),其中公用輔助類庫common層、實體類層可以在各個層中訪問,並把常用的許可權管理、字典管理封裝為元件模組,直接呼叫,底層則使用工廠方式,來支援各種不同的資料庫,其中ui層、bll層、dal層、實體層均使用繼承類方式實現最良好的封裝、最優的**設計。
業務訪問層的設計圖如下所示。
資料訪問層的設計如下所示。
由於基類的封裝良好性,以及利用泛型獲得強型別的操作體驗,減少出錯,更加方便易用,在擴充套件上也更加高效快捷。
綜上所述,為了實現動態表名的操作,我們只需要擴充套件三個類即可實現,第乙個是basebll業務層基類,提供給介面給介面進行呼叫;第二個是ibasedal,提供資料訪問層介面進行呼叫,第三個是在abstractbasedal基類中實現修改資料表的介面即可。下面我們來看具體的**分析。
1)在basebll增加inittablename函式的實現。
public2)在ibasedal中增加介面定義class basebllwhere t : baseentity, new
()
public basebll(string
dalname)
#endregion
//////
初始化資料庫表名
/// ///
資料庫表名
public
void inittablename(string
tablename)
}
///3)在abstractbasedal資料訪問基類中實現inittablename介面。///資料訪問層介面
/// public
inte***ce ibasedalwhere
t : baseentity
///4)介面層呼叫**以資料字典操作為例,我們動態指定表名可以呼叫下面**,如下所示。///資料訪問層的基類
/// public
abstract
class abstractbasedalwhere t : baseentity, new
()
//////
指定表名以及主鍵,對基類進構造
/// ///
表名 ///
表主鍵 public abstractbasedal(string tablename, string
primarykey)
//省略其他**
..............................
//////
初始化資料庫表名
/// ///
資料庫表名
public
void inittablename(string
tablename)
}
private以上就是動態表名在我的winform開發框架中的實現擴充套件,雖然這個實現不算複雜,但是可以從中了解winform開發框架的業務物件的呼叫過程,以及看到基類物件擴充套件的方便性和高效性。void btntest_click(object
sender, eventargs e)
由於底層的物件良好封裝,在我們實際開發過程中,大多數情況下,不用編寫額外的資料訪問**,對於介面及整體框架的**,也有**生成工具database2sharp能夠實現快速的框架**以及介面**(包括winform、web介面**)的生成,以此從根本上提高開發的效率,減少出錯的機會,統一整體框架的**風格,實現更加健壯的開發應用。
Winform開發框架之介紹
框架已經正式改名為 yeswin開發框架,最新資料請前往 yeswinform 簡介 yes快速開發平台框架 yesdotnet.com winform開發框架,儘量減少程式設計師在介面中的 量和工作量,model自動生成,介面以及控制項自動生成,簡單的邏輯自動生成。自動生成的介面已經實現簡單邏輯增...
Winform開發框架之動態指定資料表
在winform開發框架的應用中,大多數的時候,我們都是採用固定的表名作為運算元據表的物件,但有時候,有些特殊的需要,需要動態指定表的名稱,如表名稱可能和年份有關係或者和登入使用者的身份有關係等等。本文介紹基於我的winform開發框架,介紹如何動態構造表名,實現向不同表獲取資料的操作實現。例如 資...
Winform開發之離線式WCF開發框架的實現介紹
在上篇隨筆 winform開發框架之框架演化 中介紹了幾種winform開發框架,其中有對於離線式wcf開發框架的介紹,離線式的wcf開發框架 就是結合了傳統winform開發框架的資料訪問方式,又利用了wcf分布式資料獲取的特點,使得資料可以離線使用,在一種業務要求集中化,又要求不影響正常業務操作...