我有一系列的對象,我創建:.NET對象設計
項目
訂購
宋
等
每個對象都有屬性的合理數量,並且我使用了一個datareader來傳遞它「SELECT * FROM .objectname」。然後我填充一個對象集合,並返回集合。這工作如下:GetOrdersCollection(),GetSongsCollection()等
我明白SELECT *是一個性能問題,此外,有時我更喜歡在選擇語句中包含額外的列中不存在的對象,並讓所有人都返回。
所以我的問題是,解決這個問題的最好方法是什麼?
我應該爲每個查詢類型創建一個新對象嗎?
我試着在存儲它之前檢查列是否在datareader中,但是這會顯示perf。的問題。有沒有一個可以忽略的表演。避免IndexOutOfRange的方法?
我應該只使用Datatable並從表中讀取權限嗎?
從數據庫返回的數據速度對我來說不是問題。我可以在不到一秒的時間內返回20,000條記錄。我的關注來自於嘗試加載只包含某些查詢所需的連接數據的對象。如果我包含來自另一個相關列的某列,這會打破對象設計。我知道這是一個耦合問題,但我不知道比使用數據表更好的方法。 – 2009-08-07 02:49:54
p.s.我投了你的建議......謝謝。 – 2009-08-07 02:50:54
這就是爲什麼OR/Ms被髮明的原因 - 正如你所發現的,對象不一定映射1到1到數據庫表(我們認爲你最好的選擇是找到一個性能和可維護性的快樂媒介 - 不要擔心如何讓您的應用程序企業能夠讓您的應用程序保持可持續性。那有意義嗎? – 2009-08-07 02:55:03