2012-01-24 62 views
0

當將數據庫導入Visual Studio時,我得到了一個關於外鍵的問題。將外鍵列導入Visual Studio 2008的模型

我的開發環境:

SQL 2005/2008/2008R2

Visual Studio 2008的ASP.NET MVC 2與.NET Framework 3.5的SP1

是繼MVC音樂商店V1.0

教程PDF

,50頁,它說,當我們在最後階段創造了「實體數據模型」,我們應該選擇「在模型中包含外鍵列。

但是,我使用VS2008,並且在此階段沒有這種外鍵選項可供選擇。

enter image description here

PLZ看到紅色圓圈內,它應該包含(ALBUMID,GenreId,ArtistId,名稱,價格,AlbumArtURL)如圖tutotial

enter image description here

,但我的模型是缺少GenreId和ArtistId。

如何處理?

我以後在創建編輯表單時遇到問題,需要使用類似[[[[[[] [] 。

所以我需要GenreId和ArtistId出現在相冊中。我猜這是關於外鍵問題...

你知道如何解決它嗎?

非常感謝!

回答

0

這是不可能的。導入外鍵列是EFv4的功能,因此您需要.NET 4.0和Visual Studio 2010才能使用它。

在您的情況下,您必須通過基於EntityObject的API訪問FK值。你的實體應該有產權喜歡GenreReference,因此您可以使用類似:

int genreId = (int)entity.GenreReference.EntityKey.EntityKeyValues[0]; 
+0

thanx您的回覆,我可以得到FK值,但實際上我被困在編輯回傳MTD其中用於下拉的html代碼是<%= Html.DropDownList(「ArtistId」,新的SelectList(ViewData [「藝術家」]作爲IEnumerable,「ArtistId」,「Name」,Model.ArtistId))%>在控制器我已經使用updatemodel()mtd,它更新屬性的專輯表,但無法更新FK參考值,即artistid和genereid在專輯表中這可能是因爲在我們的.edmx模型中沒有像generId和artistId這樣的屬性... – Smack