2010-12-22 61 views
2

我有一個LINQ到SQL的數據上下文,其中兩個表存在不同的名稱但存在相同的結構。一個表(稱爲CallRecords)包含實時/當前數據,另一個表(CallRecordsArchive)保存較舊的記錄 - 但與現場數據具有相同的字段名稱。在不同的表上使用相同類型的LINQ到SQL映射

基本的映射LINQ to SQL創建了兩個類CallRecord和CallRecordsArchive - 但由於它們是相同的,所以如果可能,我想避免這種情況?這樣我不必爲每個實例寫兩個查詢?

我確實考慮過創建一個JOIN視圖,但在這兩個表中有數百萬行,這將是一場性能噩夢。

回答

0

嘗試使用繼承此問題 檢查this link瞭解更多詳情。 one more 我希望它對您有所幫助。

+1

感謝您的指點:第一個更多的是與我的情況相反(一個表,多個類,我想要多個表,同一個類)。我無法使用映射文件,因爲我擁有DBML,99%的表格都是由此生成的。我試圖找出是否可以獲取創建代碼以重新使用CallRecord類型的SQLMETAL生成器。我想我可能必須將它們編寫爲返回表的存儲過程 – Quango 2010-12-22 15:25:34

+0

如果兩個表中的數據應該互斥,則可以創建索引視圖。 – jpierson 2013-02-15 21:07:35

1

我處理這個問題的方法是爲兩個表的公共方面創建一個接口,並使用數據上下文中的兩個生成類通過使用部分類定義來實現該接口。通過這種方式,當您想將該類型作爲單一概念來處理時,您始終可以將其稱爲界面。

相關問題