2016-07-17 26 views
0

我有兩個型號:建立關係和交換ID鑑於EF ASP.NET MVC命名

public class Project 
{ 
    public int ProjectID { get; set; } 
    public string Name { get; set; } 
    public string ShortDesc { get; set; } 
    public string LongDesc { get; set; } 
    public int Status { get; set; } 
    public DateTime StartDate { get; set; } 
    public DateTime EndDate { get; set; } 
    public string Image { get; set; } 
    public List<Note> Notes { get; } 
} 

和:

public class Note 
{ 
    public int NoteID { get; set; } 
    public int ProjectID { get; set; } 
    public string Name { get; set; } 
    public string Content { get; set; } 
    public int Status { get; set; } 
    public DateTime Timestamp { get; set; } 
    public string Tags { get; set; } 
} 

我的目標是能夠輕鬆地涉及注和項目視圖中的對象。

要存儲在專案編號注意對象我這樣做:

// GET: Notes/Create 
public ActionResult Create() { 
    ViewBag.Projects = db.Projects.ToList(); 
    return View(); 
} 

後來在創建視圖:

@Html.DropDownListFor(model => model.ProjectID, new SelectList(ViewBag.Projects, "ProjectID", "Name")) 

,讓我來接通過它的名字有關的項目。

如何在Index頁面(其中顯示我所有的筆記)正確地交換ProjectID和Project.Name?

另外我想在項目索引(其中列出我所有的項目)中看到相關的備註欄。是否可以使用ProjectModel中的Notes List?

回答

1

您可以添加Project屬性到您的Note類。

public class Note 
{ 
    public int NoteID { get; set; } 
    public int ProjectID { get; set; } 
    public string Name { get; set; } 
    public string Content { get; set; } 
    public int Status { get; set; } 
    public DateTime Timestamp { get; set; } 
    public string Tags { get; set; } 
    public virtual Project Project {set;get;} 
} 

現在你可以在您的視圖訪問該項目物業

@model List<Note> 
@foreach(var item in Model) 
{ 
    <p>@item.Name</p> 
    <p>@item.Project.Name</p> 
}