2011-01-11 124 views
0

我正在構建一個ASP Web應用程序,目前我有一個名爲Queries的名稱空間,它包含從頁面後面的代碼調用的linq查詢。整個網站最初將包含大約40個查詢;稍後會添加更多內容。linq設計模式

我應該將所有的查詢放在一個大的命名空間中,還是應該爲每個頁面的查詢創建一個命名空間?例如,QueriesPageA,QueriesPageB,QueriesPageC ...並最終有大約10個較小的名稱空間。

謝謝。

回答

0

這聽起來像你正在構建business logic layer

如果您使用的是LINQ to SQL或實體框架,您將擁有一組緊密代表您的業務領域的實體類。

我更願意將我的查詢添加到實體類中作爲靜態方法。這使我的查詢整齊地分佈(所以我沒有結束一個巨大的業務邏輯類)並且很容易找到(檢索一組用戶的查詢將存在於用戶類中)。

如果查詢產生聚合或報告(按年份分組賣餅乾的量例如),然後我通常爲報表創建一個新的類。這樣,該報告本身就成爲一個模型,如果這是您正在考慮的問題,則該模型在MVC體系結構中運行良好。

0

我想分裂出來是個好主意,但它會更容易閱讀,不易混淆的基礎上,他們正在返回他們原來使用的頁面,而不是數據,例如創建命名空間MyApp.Queries.Customers,MyApp.Queries.Orders。