0
我是新來的MVC編程,目前正在開發一個應用程序。我有以下的問題,我缺乏想法如何解決(雖然我在這裏閱讀了一些類似的主題)。我想在我的視圖中爲我的外鍵列顯示另一個值(而不是FK值,從相關表中取一個列值)。我不知道如何實現這一點(通過linq語句的模型,在控制器,視圖中創建視圖模型)。我在ASP.NET中的知識非常短,所以我非常感謝更詳細的答案。先謝謝你 !檢查案件的波紋管。MVC3在顯示/編輯和ADO.NET實體數據模型期間引用外鍵?
我在數據庫中的以下表:
CREATE TABLE [dbo].[TBL_MANAGER](
[manager_id] [int] IDENTITY(1,1) NOT NULL,
[first_name] [varchar](50) NULL,
[last_name] [varchar](50) NOT NULL,
[team_id] [int] NOT NULL,
CREATE TABLE [dbo].[TBL_TEAM](
[team_id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) NOT NULL,
我使用ADO.NET Entitiy數據模型來創建類TBL_MANAGER。在模型類我有以下的方法(也許它應該返回的IList):
public partial class TBL_MANAGER
{
public static IQueryable<TBL_MANAGER> GetManagersQuery()
{
FBMSEntities db = SingletonDB.getDB();
var queryManager = from manager in db.TBL_MANAGER
orderby manager.manager_id
select manager;
return queryManager;
}
}
這是(使用的NuGet PagedList)從控制器代碼:
public ActionResult Index(int? page)
{
var managers = TBL_MANAGER.GetManagersQuery();
var pageNumber = page ?? 1;
var onePageOfProducts = managers.ToPagedList(pageNumber, @FBMS.Common.Constants.MAX_PER_PAGE);
ViewBag.OnePageOfProducts = onePageOfProducts;
return View(managers);
}
而且這是在部分查看在我想象中的數據:
@foreach (var item in ViewBag.OnePageOfProducts)
{
<tr>
<td>
@item.team_id
</td>
<td>
@item.first_name
</td>
<td>
@item.last_name
</td>
<td>
@item.manager_status
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.manager_id }) |
@Html.ActionLink("Details", "Details", new { id=item.manager_id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.manager_id })
</td>
</tr>
}
我想要的,而不是TEAM_ID顯示TBL_TEAM.name的價值。