2011-10-14 42 views
0

我對MS MVC相當陌生 - 到目前爲止,我已經創建了基本的模板基礎項目(Home和About頁面),並使用EF連接到我們現有的數據庫。該應用程序是一個基礎調查應用程序MVC/EF Basics - 如何從MVC/EF中的混合表/對象返回值?

在數據庫中,每個調查記錄都有一個帶有GUID的CreatedBy列。該GUID映射回我們的登錄數據庫表,它是成員的用戶標識。

好吧,所以使用內置於VS中的腳手架,我爲每個與我們一起工作的主要對象(包括登錄和測量對象)創建了控制器。腳手架創造了SurveyController索引(),它看起來像這樣:

public ViewResult Index() 
    { 
     return View(db.Surveys.ToList()); 
    } 

當我運行應用程序,一切都列出了很不錯的,但在CreatedBy列是一個大丑GUID。這不是很有幫助,我真的想顯示與該GUID關聯的實際成員的名稱。

完成此操作的最佳方法是什麼?我考慮改變Survey對象,添加一個LoginName字段並填充它,但是這會「破壞」代碼,如果我想稍後更新腳手架,我將會丟失我在這裏所做的任何更改。

我確定這是一個常見問題。我想知道在返回視圖時是否有最佳做法來結合跨表/跨對象數據?

+0

您是否有從Survey到Login的導航屬性? – GriffinHeart

+0

不可以。但是,這是我第一次聽說過「導航財產」,現在查看它。 –

回答

1

我個人的(非MSFT認可的)建議是始終嘗試使用「代碼優先」,並儘可能遠離ObjectContext。即使你有一個現有的數據庫,你仍然可以使用Code First reverse engineering the database with the power tools(仍然在CTP1中)。更具體地說,這個問題以及在不久的將來可能遇到的許多問題都可能在tutorials on MSDN中得到解答。我們(EF團隊)與ASP.NET MVC團隊密切合作,確保這些教程的質量很高,聽起來正是您所需要的。確保在左側導航欄中查找良好的起點。

相關問題