我在我的mvc2應用程序中設置了實體關係,因此每個用戶都有一個角色,每個角色都可以有多個用戶。像這樣:實體關係從數據庫中讀取不正確
Roles Users
-------- ---------
RoleID-- UserID
\
Name --> RoleID
所以一個非常基本的許多人在數據庫中執行,並反映在我的實體關係圖一個關係。但是,當我嘗試獲取用戶的角色(user.Role.Name
)時,它始終爲空,並且我在數據庫中看到用戶的角色被設置爲有效的ID。這是我第一次嘗試使用實體,因爲我之前一直使用LINQ2SQL,這只是讓我感到困惑。
什麼?
這是我的EDMX文件
http://cl.ly/a9c088698369a54fc770
的屏幕截圖在user表中有一個角色ID屬性(不知道爲什麼它沒有在圖中顯示)的數據庫,我自由能從用戶遍歷到角色,並且已知它是與編譯器的一對多關係,但它在嘗試查看用戶對象時僅返回爲空。
編輯:
這裏的查詢我使用
User user = db.Users.SingleOrDefault(u => u.Username == username);
user.Role.Name
我的用戶對象是不是null,任何其他屬性的可見只是看不見的作用,每個用戶都有一個角色。
向我們展示您用來獲取用戶的查詢。你可能需要做一個Users.Roles.Load()來獲取它們。 – Martin 2010-10-21 18:11:54
@Martin,回答這個問題,我會標記你的答案,我不知道你必須手動加載引用(我習慣了Linq2SQL) – Jimmy 2010-10-21 18:20:09
我也是,從Linq2SQL開始,現在在我的最新項目中使用EF4。很多頭痛,但也有一些很酷的東西。 – Martin 2010-10-21 18:25:31