2010-11-16 47 views
3

我有以下三個表:實體框架:加載二級導航性能

客戶: ID CLIENTNAME

項目: ID 的clientid(INT裁判Clients.id) 項目名稱 projectstatus (INT裁判ProjectStatuses.id)

ProjectStatuses: ID statusname

我選擇一個單一的客戶端罰款,並在需要時加載所選客戶端項目是這樣的:

selectedClient.Projects.Load();

但我該如何加載項目狀態名?

回答

4
selectedClient.Projects.ProjectStatuses.Load() 

編輯

這是一個一對多的關係,我想,

這應該工作

selectedClient.Projects.First().ProjectStatuses.Load() 

或者你也可以直接在您的查詢與加載

context.Clients.Include("Projects.ProjectStatuses"); 
+0

謝謝,但那不行。它似乎只想讓我能夠進入導航屬性的一個級別。 – 2010-11-16 18:27:24

+0

它以什麼方式不起作用?你的嘗試是否會拋出錯誤,或者只是無法加載嵌套屬性?對Include語句進行字符串處理如何'context.Clients.Include(「Projects」)。Include(「Projects.ProjectStatuses」)' – 2010-11-16 19:24:08

+0

我越來越近了。它現在正在做的是列出類名而不是值。像這樣:「Project.Data.ProjectStatus」,你是對的,將會有一個客戶端和一堆項目,都有不同的狀態。 – 2010-11-16 19:33:34