首先,我是Linq to Sql新手,所以請溫柔:)。Linq to SQL和大型數據庫模型
我在過去的3.5年裏開發了現有的ASP.Net應用程序。它下面有相當大的數據模型,大約有350個表格。我正在嘗試用Linq to SQL來做一些新的事情。
第一印象是linq designer和SqlMetal是爲不大於NorthWind示例的數據庫而構建的。這裏有一些問題我有:
- 我有表
Products
需要在很多地方(庫存,發票,生產,...)。如果我將表Products
放在每個dbml文件中,linq designer會在它們中的每一箇中創建Product
類。我不想那樣。我只想要一個Product
類。 - 我有關於航運的DataContext。它需要大約40張桌子。這使得dbml文件很難管理。有沒有辦法創建更小的dbml文件,然後將它們(作爲參考)包含到一些「主要」dbml中?
現在,我真的很喜歡Linq,但我認爲它仍然嚴重缺乏任何大於10桌的設計工具。
我現在的解決方案是用Linq設計器構建較小的模型,然後手動合併它們(添加屬性和引用),因此將生成大量代碼,但也會有許多手動工作。
我錯過了一些很大的東西,或者是與Linq to Sql的這種當前狀態?
我沒有答案,但有興趣知道這一點,因爲我注意到了同樣的事情。如果我有很多表格,你使用的方法是我認爲我會做的。 – dtc 2008-11-08 23:16:55
我不明白爲什麼SqlMetal不是您的問題的答案?它適用於大型多表數據庫。我只是將一個批處理腳本連接到Visual Studio的「外部工具」菜單中,這樣我就可以通過單擊一次來重建ORM。 – 2010-09-09 08:55:47
@James McCormack:你能否給我加個答案,並說明你如何組織班級。我想要的是組裝庫存和大約20-30個對應於相同數量的表的類。然後組裝銷售,然後是財務。我沒有找到簡單的方法來實現這一點,所以我訴諸於此:爲少量表創建dbml,然後手動編輯代碼。你知道SqlMetal for .Net4是否得到了改進? – zendar 2010-09-09 09:38:47