2013-08-28 42 views
0

你好,我是相當新的Visual Basic和想知道如果有人能告訴我什麼,我在ViewData的(「名字」)語句做錯了?MVC3的ViewData的Visual Basic問題

Public Class HomeController 
Inherits System.Web.Mvc.Controller 

Private db As cs_dev_ccmetrics_apps = New cs_dev_ccmetrics_apps 

Protected Overrides Sub OnActionExecuted(filterContext As ActionExecutedContext) 

    'APP INFO 
    '-------------------------- 
    ViewData("Version") = "0.1.7" 
    ViewData("RevDate") = "08/20/2013" 

    ViewData("FirstName") = 
     Select name_first 
     From users 
     Where NT_id = System.Environment.UserName 


End Sub 

我有模型建立像這樣:

Imports System 
Imports System.Collections.Generic 

Partial Public Class users 
    Public Property id As Integer 
    Public Property domain_id As Byte 
    Public Property NT_id As String 
    Public Property emp_id As Integer 
    Public Property ssn As String 
    Public Property pwd As String 
    Public Property admin_role As Byte 
    Public Property name_last As String 
    Public Property name_first As String 
    Public Property last_login As Nullable(Of Date) 
    Public Property failed_attempts As Byte 
    Public Property active As Boolean 
    Public Property dt_updated As Date 

End Class 

憑藉的DbContext的設置是這樣的:

Imports System 
Imports System.Data.Entity 
Imports System.Data.Entity.Infrastructure 

Partial Public Class cs_dev_ccmetrics_apps 
    Inherits DbContext 

    Public Sub New() 
     MyBase.New("name=cs_dev_ccmetrics_apps") 
    End Sub 

    Protected Overrides Sub OnModelCreating(modelBuilder As DbModelBuilder) 
     Throw New UnintentionalCodeFirstException() 
    End Sub 

    Public Property app_log() As DbSet(Of app_log) 
    Public Property ref_AdminRole() As DbSet(Of ref_AdminRole) 
    Public Property ref_apps() As DbSet(Of ref_apps) 
    Public Property ref_domains() As DbSet(Of ref_domains) 
    Public Property user_apps() As DbSet(Of user_apps) 
    Public Property users() As DbSet(Of users) 

End Class 

回答

0

它已經一段時間了VB,但我認爲語法應爲像下面這樣:

ViewData("FirstName") = db.users.First(function(t) t.NT_id = System.Enviornment.UserName).name_first 
+0

感謝湯米該做的技巧 – aaronmallen

+0

太棒了!如果這解決了您的問題,請務必點擊答案旁邊的綠色複選標記,以便將其標記爲已解決。 – Tommy