2010-09-24 56 views
1

我有Application類。實體框架創建了一個名爲Assistants的導航屬性。當我運行我的web應用程序Assistants由框架爲我填充。將導航屬性映射到存儲過程

我寫了一個名爲GetAssistantsByApplicationID的存儲過程。我需要將此存儲過程映射到Assistants屬性,並將其傳遞給applicationID,以便爲該特定應用程序返回助手。

我該怎麼做?我以正確的方式做這件事嗎?

這裏是我的代碼我的倉庫類得到具體應用:

public Application GetApplicationByID(int applicationID) 
{ 
    var application = 
     (from a 
     in context.GetApplicationByID(applicationID) 
     select a).FirstOrDefault(); 

    return application; 
} 

感謝

回答

3

像這樣的東西應該的,因爲一些所謂的「關係Fixup時的工作:

public Application GetApplicationAndAssistantsByApplicationID(int applicationID) 
{ 
    var application = 
     (from a 
     in context.GetApplicationByID(applicationID) 
     select a).FirstOrDefault(); 

    // call your other stored procedure... 
    var assistants = context.GetAssistantsByApplicationID(applicationID) 
          .ToArray(); 
    // as the assistants are materialized they will automatically show up 
    // in application.Assistants too. 

    return application; 
}