我正在尝试在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变量?
答案 0 :(得分:1)
LINQ查询的顺序将产生IEnumerable(Of CommentTable)
,该List(Of CommentTable)
不能分配给tModel.Comments = dbServer.CommentTables.Where(Function(x) x.IssueID = id).ToList()
。如果您按照所示重新排序查询,则分配应该有效:
{{1}}