我在當前服務層的數據訪問層上實現了存儲庫模式。在每個重用映射中映射相同表的多個Linq數據模型
我們在同一個類「的歷史筆記」上多發的對象映射對象模型(目前爲6,但很快就被更多!)
部分的使用LINQ的最佳實踐,SQL是不爲db中的每個表創建一個dbml文件,而不是將其分解,這樣在創建上下文時就沒有巨大的性能影響。
不幸的是,分離對象的邏輯位置留下了5個不同的DBML文件中的歷史筆記。當linq生成器創建類時,它會在不同的名稱空間中生成一個不同的類。
我在域模型中有一個歷史備註對象,但我不想在每次使用歷史備註時將域對象模型重新映射到數據模型中。
我不想做的事情之一是將數據的「讀取」分解爲多個查詢。
有沒有辦法將歷史筆記映射到多個數據模型中,但只寫一次映射?
感謝
皮特
解決方案
感謝您的幫助,我想我會搬回一個數據上下文中的所有數據表。
設置多個模型所涉及的工作並不值得代碼的額外複雜性和潛在的脆弱性。不得不編寫相同的左手,右手代碼來映射歷史筆記的工作量太大,太多的地方讓代碼保持同步。
爲輸入謝謝你們對LINQ的使用 到SQL的最佳實踐
我在各種博客中閱讀,唯一一個我仍然有鏈接的是這一個http://www.sidarok.com/web/blog/content/2008/05/02/10-tips-to-改進你的LINQ到SQL應用程序performance.html – Peter 2010-08-05 14:43:27
感謝您的鏈接和您的答案羅伯特我現在正在通過他們看。 – Peter 2010-08-05 14:46:43
嗨,彼得。我查看了您鏈接的博客條目,除了關於多個數據上下文的部分之外,我同意所有這些條目。數據上下文*不代表單個工作單元。該角色屬於您的資源庫對象,而不是DBML。 – 2010-08-05 14:52:28