2010-09-05 80 views
9

我在我的項目中創建了一個dbml文件,然後將兩個表從數據庫拖入設計器。這是訂單標題和訂單行的表格,訂單行有一個外鍵來訂購標題以使其成爲一對多的關係。LINQ to SQL在dbml文件中生成關聯的問題

只要將兩個表格拖動到設計器上,關聯箭頭就會出現,並且一切看起來都正確。在關聯的屬性中,Child Property設置爲True,Access爲public,繼承模式爲(none),Name爲OrderLines(原來是taOrderLines,但由我編輯稱爲OrderLines。

問題是, OrderLines屬性創建的。我手動檢查中產生的CS文件還,既不字OrderLines或協會發現存在。

我在做什麼錯在這裏?

+0

我現在有兩次這個問題,不知何故,當找一個解決方案(至少不是第一次)時,我無法找到這個問題。問題文本本身很好,但問題的名稱有點寬泛,很難確定這是正確的問題。因此,我最終只是在試圖寫我自己的時候才發現這個問題(我猜基於文本的搜索很好)。我寫的未經質詢的問題題爲「關聯表不能從模型訪問」。 – jahu 2014-08-12 12:23:07

回答

22

確保每個類都有一個主鍵。


如果您的對象在dbml中沒有主鍵屬性,則LinqToSql對象跟蹤無法看到這些對象,並且不會生成關係屬性。

+0

這實際上是問題所在。我甚至沒有考慮過我正在處理的數據庫沒有設置正確的主鍵。 OrderLines表沒有主鍵。主鍵創建後,按預期工作。 – 2010-09-06 22:06:11