2012-12-07 184 views
1

我試圖證明使用EntityFramework並落在第一個障礙。我正在使用數據庫第一種方法。下面是它看起來像在SQL Server 2008 R2:實體框架5缺失關聯

db diagram

正如你所看到的,很簡單的域名。該關聯是User.Id和Blog.UserId之間的一對多關係。

然而,即使有這個令人難以置信的簡單的域,EF失敗。當我導入的表,我得到這個:

EF model

正如你所看到的,沒有關聯。關係消失了,無論我刪除多少次,重新生成,它都不會出現。 「檢查模型中包含外鍵列」。

但是,如果我創建基於基於整數,而不是GUID的鍵的表,創建的關係。

這是一個錯誤,一個限制或我自己的愚蠢?

這並不能激發我的信心。它在現實生活中會如何表現,有一百張桌子和一千個協會?

  • VS 2012
  • SQL Server 2008 R2的
  • EF 5
+0

值得指出的LINQ到SQL得到它的權利。該協會發現,完美映射。這是怎麼回事? – SimonGoldstone

回答

6

我已經解決了問題。這個問題是由一個我不知道我在桌上的流氓索引造成的。

如果在相同的字段作爲主密鑰的唯一索引,這將導致EF失敗在所有生成PK-FK關係。

只需除去所述不需要唯一索引(初級強制反正唯一的),該EF設計者立刻拿起關係。