2012-09-05 28 views
1

我開發了一個基於項目管理的MVC3應用程序。數據源部分來自現有的時間記錄數據庫(具有不可更改模式的獨立應用程序),部分來自我創建的自定義項目管理數據庫。這兩個都駐留在同一臺服務器上。將兩個LINQ to SQL實體組合到一個域模型中

我創建了一個允許跨數據庫查詢的Linq to Sql Classes模型。我的數據模型由多個實體組成,但值得注意的是具有相關屬性的Project和Job實體。從域模型的角度來看,這種關係使我覺得他們應該駐留在一個域實體/類中,因爲實際上,只有具有額外屬性的項目纔是一個作業。

我的問題是,應用程序中的哪個層/層將這兩個數據實體合併爲一個單獨的域實體?

回答

2

您應該創建一個Data Access Layer,其中包含您的(兩個)數據源中的任何/所有數據檢索。處理合並數據的實現細節可以從項目中更高層的業務邏輯中抽象出來。在這種情況下,您將不再直接執行LINQ到SQL來將數據檢索到您的代碼中 - 它將被推送到您的DAL層中。

請參閱this article中的圖表以獲取更多參考。

+0

感謝Mike,我有一個數據訪問層包含Linq to Sql模型和一些用於驗證的元類(這可能不應該存在)。你是對的,儘管我應該把它放在DAL中,以便在公司可以設置時間記錄系統時緩解疼痛。這樣維護更容易;-)乾杯 – Stokedout

相關問題