2011-02-18 52 views
0

我試圖添加一個視圖到實體數據模型,但我得到下面的錯誤。 該視圖是一個由一組計數。我不明白這一點,因爲一個視圖沒有主鍵。在實體數據模型中定義視圖

我修改了原來的文章,因爲我想出瞭如何將視圖添加到視圖。但我仍然有同樣的問題。

警告6013:該表/圖 「fmcsa.dbo.vieFMCSADocumentCount」並不 沒有定義主鍵和沒有 有效主鍵可以推斷。 此表/視圖已被排除。要使用實體 ,您需要 查看您的模式,添加正確的 鍵,並取消註釋。

這裏是查看

CREATE VIEW [DBO]。[vieFMCSADocumentCount]用SCHEMABINDING

AS 
SELECT  COUNT_BIG(*) AS CountOfDocs, ROLE_ID, OWNER_ID 
FROM   dbo.FMCSA_DOCUMENT 
GROUP BY ROLE_ID, OWNER_ID 

話,我可以添加一個關鍵

CREATE UNIQUE CLUSTERED INDEX [MainIndex] ON [dbo].[vieFMCSADocumentCount] 
(
    [OWNER_ID] ASC, 
    [ROLE_ID] ASC 
) 

仍然沒有工作。

+0

檢出此問題(http://stackoverflow.com/questions/745341/can-ms -sql-views-have-primary-and-foriegn-keys)並查看是否有幫助 – nickmoriarty 2011-02-18 17:07:47

+0

如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊「代碼示例「編輯器工具欄上的按鈕(」{}「),以精確地格式化和語法突出顯示它! – 2011-02-18 17:20:18

回答

1

你沒有指定,但我假設你正在使用EF4。我之前遇到過這種情況 - 您可能需要手動定義密鑰或編輯重新創建視圖WITH SCHEMABINDING並重新導入。

模式綁定有效地告訴SQL跟蹤您的視圖的依賴關係。這既是祝福也是詛咒(一旦這個視圖具有模式綁定,請嘗試添加一列到FMCSA_DOCUMENT),所以您可能需要閱讀效果。或者,在EF模型瀏覽器中轉到實體類型文件夾,找到您的視圖(右鍵單擊並選擇在設計器中顯示)。然後在視圖上,突出顯示組成主鍵的列並右鍵單擊並選擇「實體鍵」

相關問題