大約五年前,我開始爲我正在開發的應用程序使用通用查找表。我知道,我可以聽到嘆息和你的拳頭在你的辦公桌上衝擊,但它已被證明會大大縮短開發時間。如果你想有一個回顧,並針對查找表的強音,傑克基督教做得很好,在這裏總結吧: http://www.projectdmx.com/dbdesign/lookup.aspx通用查找表替換
的最後一個項目我發起了一個前幾天有近20種查找值,範圍從國家名稱改爲活動狀態。如果我們使用「合適的」關係模型,使用經典的N-Tier模型,並限制對存儲過程的數據訪問,我們將編寫20個表格,80個存儲過程(1個選擇,1個編輯,1個更新和1個刪除)。相反,Common Lookup Table有1個表格和4個SPs。由於對查找值的訪問更頻繁,因此我們將這些值緩存在ASP.NET應用程序對象中。
我的問題是什麼是替代品,除了創建一個表和每個查找類型4個SP?我只是開始將LINQ看作是我們的DAL(EntLib DAAB)的替代品,所以我也很樂意聽到關於LINQ的替代方案。
謝謝你的建議。
你釘的重大問題,維護。您可以使用工具創建表格和CRUD SP,但表格更改(如類型更改)通常需要在表格def和4個CRUD SP中的3箇中進行手動編碼的更改。我們將查找表的使用限制爲varchars的內容(ID均爲整數),因爲大多數查找值最終會作爲Drop-Drop-Down和客戶端上其他列表中的值。如果查找內容類型除varchar之外,我們將創建一個子表。 – Josh 2009-07-02 17:53:49