将字段映射到mvc

时间:2015-07-27 12:22:27

标签: asp.net-mvc vb.net

我正在vb.net中创建一个mvc应用程序,我试图将某些字段映射到某些用户,以便它特定于各个用户。我有四个连接映射的SQL表。它们是UserTable,ClientTable,ProjectTypeTable和IssueTable。

我要做的是:ID为1的用户将登录,我获取此ID并将其与ClientTable中的userID匹配,以获取该客户端的正确用户。一旦我得到它,我将获得ClientID并将其与ProjectTypeTable匹配以获得多个正确的projectTypes,例如客户端可以有1-8个项目可用。 IssueTable将具有所选的projectType。

我创建了一个如下所示的ViewModel:

Public Class ClientViewModel
    Public proTable As List(Of ProjectType)
    Public cTable As ClientTable
    Public uTable As UserTable
    Public iTable As IssueTable
End Class

我计划做的是在用户登录时检索用户ID并将其传递给会话状态中的其他视图,以便在他们注销之前保留正确的用户ID。这是我尝试过的:

Dim uTable As SQLDatabase = New SQLDatabase()
Dim getUserID = (From data In uTable.UserTables Where data.username = user.username AndAlso data.userPassword = user.userPassword Select data.userID)

If (getUserID .Count() > 0) Then
Session("userIDData") = getUserID.ToString()

然后在提交控制器中我有这个:

Dim getuserID = Session("userIDData")
Dim userModel = New IssueTracker.ClientViewModel()
userModel.cTable = dbServer.ClientTables.Where(Function(x) x.userID = "")
'the speech marks will be the userID retrieved from the session state
userModel.proTable = dbServer.ProjectTypes.Where(Function(x) x.client = "").ToList()
'the speech marks will be the clientID retrieved from the session state

我遇到的问题是我实际上并没有获取ID,这是将用户映射到特定字段的好方法吗? ID不必通过会话状态发送,这是我尝试过的最后一件事。我怎么能正确地做到这一点?

0 个答案:

没有答案