0

首先,我真的很熟悉用C#,ASPNET和MS SQL進行開發,所以我可能只是在這裏錯過了一個簡單的觀點或者錯過了一個基本的概念,所以請耐心等待我:)Aspnet實體數據模型不會像預期的那樣工作

我使用Visual Studio Web Deveoloper 2010 Express與.NET Framework 4和MVC2(必須使用此特定版本)。我也有SQL管理工作室10.5,我創建了一個簡單的表enter image description here

現在我想用它作爲實體模型,所以我在Visual Studio中創建了一個,並添加了所有表(包括ASPNET用戶表)和存儲過程。 enter image description here

問題是結果...

enter image description here

我期望能夠從Kunden(createdBy,modifiedBy)導航到ASPNET用戶表等我可以從訪問「Ge​​schenk」 「昆登」表。我以爲我會在這裏有一個單一的財產,而不是出於同樣的原因他們2。當然,我可以重命名導航屬性,但我想知道這是什麼原因,以及在這種情況下使用aspnetusers的正確方法是什麼?

+1

你的期望是錯的。 EF爲每個外鍵引用構建一個唯一的導航屬性。其中一個屬性是用於創建Kunden記錄的用戶記錄的映射,另一個是用於修改它的最後一個用戶的用戶記錄的映射。 –

+0

我也強烈建議更新到[社區版](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx),因爲你使用的不是在這一點上受到支持。 –

+0

@TiesonT。所以導航屬性不是爲它在sql表中的同一個對象而是爲它「鏈接到」的對象創建的? –

回答

1

Kunden有2個FK對aspnet_Users表的引用。一個對應於createdBy列,另一個對應於modifiedBy列。因此,爲每個導航屬性生成。想象一下,不同的用戶已經創建並修改了一個Kunden

如果只生成一個關聯,您希望aspnet_Users關聯檢索哪個用戶?如果你期待收集這兩者,那你怎麼區分這兩者呢?

相關問題