我有兩個模型,文章和評論。帖子PK是評論中的外鍵(一對多)。然後我有一個ViewModel的帖子和評論。在視圖中顯示一次外鍵?
這是我的控制器
public ActionResult Index()
{
var model = db.Comments.Include(p => p.Post)
.OrderByDescending(p => p.CommentId).ToList()
.Select(p => new ListCommentsViewModel
{
Comment = p.PostComment,
Message = p.Post.Message
}).ToList();
return View(model);
}
我將外鍵值後過濾,因此,外鍵的值將始終是相同的。我怎樣才能在視圖中顯示一次?這是工作
@model IEnumerable<FreePost.Viewmodels.ListCommentsViewModel>
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Message)
@Html.DisplayFor(modelItem => item.Comment)
}
但我想用@Html.DisplayFor(modelItem => item.Message)
外的foreach意義上的外鍵信息的值將始終是相同的。
更新
這是我的模型的文章和評論
public class Post
{
public Post()
{
Vote = new HashSet<Vote>();
Comment = new HashSet<Comment>();
}
public int PostId { get; set; }
public string Message { get; set; }
public DateTime MessageDate { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual ICollection<Vote> Vote { get; set; }
public ICollection<Comment> Comment { get; set; }
}
public class Comment
{
public Comment() { }
public int CommentId { get; set; }
public string PostComment { get; set; }
public DateTime CommentDate { get; set; }
public int PostRefId { get; set; }
[ForeignKey("PostRefId")]
public virtual Post Post { get; set; }
}
更新2
我的代碼我得到這樣的結果在視圖
post 1
Comment 1
post 1
Comment 2
post 1
Comment 3
我想有這樣的結果(檢測後是一樣的FK)
post 1
Comment 1
Comment 2
Comment 3
什麼是交表PK費爾德的名字嗎? –
帖子中的PK是PostId - > public int PostId {get;組; } – Xtreme