2009-09-13 47 views
2

我正在爲WPF MV-VM應用程序使用LinqtoSQL,因爲我可能想從LinqtoSql更改爲未來的其他內容,如實體框架或亞音速等,因此我發現存儲庫模式是有幫助的,我們是否需要在使用存儲庫模式時重新創建模型類

我的問題是如何創建模型類,假設我有一個表在數據庫中,我明白,我不能使用LINQtoSQL生成的類作爲模型類,如果我這樣做,那麼我會依賴於LinqtoSQL,這將導致我將實現存儲庫模式的獨立性,這是否意味着我需要爲所有實體類擁有自己的自定義類?

+0

您可能想要考慮替代LinqToSql,在這種情況下這不是一個好選擇,正如您找到的。 – 2009-09-14 09:05:39

+0

出於好奇,你在這裏決定了什麼? – 2009-10-02 18:59:39

+0

@安德森,我決定用你的方式繼續....沒有額外的潤滑層爲這一個,因爲它是小項目,變化可以直接管理,沒有太多的麻煩... – 81967 2009-10-16 15:19:02

回答

4

好主,沒有。你爲什麼要這樣對你自己?

您已經在ViewModels中複製了很多東西,爲什麼要添加另一層重複以獲得如此小的收益,特別是考慮到L2S可以使用普通ol'clr類型?

我認爲我的WCF服務和ORM類型的服務合同都是,我的模型是。僅僅因爲它不駐留在* .Model命名空間中並不意味着什麼。

如果你覺得你需要這個潤滑層,讓該層爲你的ViewModels。這就是他們在那裏。

+0

我想我明白你的意思了,把ORM和服務放在模型中,是的......我也有點被這裏發生的重複數量所震驚,肯定會研究這個,並且讓你知道,,謝謝安迪... – 81967 2009-09-13 20:17:38

+0

再次感謝您的關注,再次問:) – 81967 2009-10-16 15:19:43

+0

和順便說一句,這將是真正的痛苦複製模型類...你節省了我很多時間,,, – 81967 2009-10-16 15:20:57

1

是的,這意味着您需要爲所有實體類實現您自己的自定義類。這是一種痛苦,但那是事物的當前狀態。

請參閱this SO answer瞭解有關該主題的更多信息以及一些可能的補救措施。

+1

「不要讓名稱生成的L2S課程會欺騙你。「完全適合,我也看到,編寫自定義類爲您提供好處,比如可以管理該自定義類中的所有驗證邏輯,以指出一件事情會更好。 – 81967 2009-09-13 12:06:57

相關問題