0
我正在嘗試執行此linq查詢,但在編碼時出現「EmpCritGID無法初始化,因爲它是共享的」錯誤。什麼是正確的方式來查詢數據表和填充現有類中的值與共享屬性用於vb.net代碼後面?Linq,數據表和共享屬性
If CriteriaFlags.CritOrgFlag AndAlso lblOrgName.Text.Equals(String.Empty) Then lblOrgName.Text = "Need Org Assigned" lblOrgName.ForeColor = redColor lblOrgName.BackColor = yellowColor End If Dim result = From c In EmployeeJobCriteria.AsEnumerable() Where c.Field(Of Integer)("EmpCritGID").Equals(intEmpCritGID) Select New EmployeeCriteria.CriteriaFlags _ With {.EmpCritGID = c.Field(Of Integer)("EmpCritGID"), _ .EmpJobFID = c.Field(Of Integer)("EmpJobFID"), _ .CritFID = c.Field(Of Integer)("CritFID"), _ .NodeGID = c.Field(Of Integer)("NodeGID"), _ .CritOrgFlag = c.Field(Of Boolean)("CritOrgFlag"), _ .CritWeightFlag = c.Field(Of Boolean)("CritWeightFlag"), _ .CritOppFlag = c.Field(Of Boolean)("CritOppFlag"), _ .CritActFlag = c.Field(Of Boolean)("CritActFlag")} Namespace Objective Public Class EmployeeCriteria Public Class CriteriaFlags Public Shared EmpCritGID As Integer Public Shared EmpJobFID As Integer Public Shared CritFID As Integer Public Shared NodeGID As Integer Public Shared CritOrgFlag As Boolean Public Shared ShareCritPmtFlag As Boolean Public Shared CritWeightFlag As Boolean Public Shared CritOppFlag As Boolean Public Shared CritActFlag As Boolean End Class End Class End Namespace
所以,我假設你會初始化類的row_databound功能,我需要它? – webapparchitect
另外,我會使用初始化變量objEmpCritFlag作爲新的EmployeeCriteria.CriteriaFlags並在LINQ中使用objEmpCritFlag? – webapparchitect
我不知道你在哪裏需要它,這根本就沒有關係。您應該將初始化添加到linq查詢的選擇中(它已經在哪裏)。當你執行查詢時,CriteriaFlags對象將被創建和初始化。你使用變量的地方取決於上下文。您可以鏈接linq查詢,在某處調用ToList或ToArray,使用For Each或將其用作DataSource。但這不在這個問題的範圍之內。如果他們有幫助,請記得接受/提出答案。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –