2012-01-14 93 views
0

我想從我的SQL Server數據庫創建一個Linq to Entity模型,並且大多數關係都沒有被傳遞。有四個關係正在通過,這是非常奇怪的,因爲我以同樣的方式完成所有關係。我使用SQL Server中的圖表通過將外鍵拖放到主鍵表中來創建所有關係。不從SQL Server傳遞到Linq到實體模型的關係

我試圖看看正在傳遞的關係,看看是否有任何區別,但我無法找到任何。我甚至刪除了一個新的關係,但沒有運氣。

這個數據庫可以完美地處理Linq To SQL數據模型,所以我不認爲這是數據庫設計的問題,但我可能是錯的。

在SQL圖表視圖中甚至是VS 2010中服務器資源管理器中的數據庫圖表都看起來很完美,但L2E模型沒有關係。

謝謝你的時間!

+0

你能從數據庫更新你的實體模型嗎? – 2012-01-15 20:46:43

回答

0

對於SQL中的每個關係,確保引用的表具有主鍵。

讓我們考慮下面的例子:我們有InvoiceCustomer表。 Invoice有一個名爲CustomerId的列,其中引用Customer表中的Id列。

在這種情況下,Customer表應在Id上設置主鍵,以便Entity Framework正確檢測關係。

注:如果發現這樣的情況下(沒有主鍵的表),它可能是最好重新從頭開始創建表(生成創建腳本,改變scrips包括主鍵,運行腳本)和然後嘗試更新EF模型。