显示viewModel列表,其中列表中的id等于用户选择的id

时间:2015-07-24 14:32:35

标签: asp.net asp.net-mvc vb.net

我正在尝试在vb.net中创建一个MVC应用程序,如果它的注释会显示一个问题。问题出在一个名为IssueTable的表中,与commentsTable有一对多的关系。 我无法显示某个特定问题的评论列表中的信息。

这是viewModel。

Public Class IssueCommentsViewModel
    Public Issues As IssueTable
    Public Comments As List(Of CommentTable)
End Class  

我在这样的视图中显示它:

@Model.Issues.IssueKey

@For Each comment In Model.Comments
    @comment.CommentBody
Next

我遇到的问题在于控制器:

Dim tModel = New IssueTracker.IssueCommentsViewModel()
tModel.Issues = dbServer.IssueTables.Find(id)
tModel.Comments = dbServer.CommentTables.ToList().Where(Function(x) x.IssueID = id)

我收到错误,因为tModel.Comments是一个列表,我将它等同于一个表。如何使viewModel.CommentList(tModel.Comments)等于填充的注释列表,其中issueID等于所选的id变量?

1 个答案:

答案 0 :(得分:1)

LINQ查询的顺序将产生IEnumerable(Of CommentTable),该List(Of CommentTable)不能分配给tModel.Comments = dbServer.CommentTables.Where(Function(x) x.IssueID = id).ToList() 。如果您按照所示重新排序查询,则分配应该有效:

{{1}}