首先是代码:
Dim tCards = (From r In myDB.CAH_TableCards Join c In myDB.CAH_Cards On r.CardId Equals c.CardId Where r.GameId = oGame.GameId And r.Round = oGame.Round Select c).SingleOrDefault
Dim pCards = From r In myDB.CAH_PlayerCards Join c In myDB.CAH_Cards On r.CardID Equals c.CardId Where r.GameId = oGame.GameId And r.username = UserName Select c
Dim rcards As List(Of TableCard) = From z In myDB.CAH_RoundCards Join c In myDB.CAH_Cards On z.CardId Equals c.CardId Where z.GameId = oGame.GameId And z.Round = oGame.Round Select c.CardId, c.CardType, c.Text, c.Answers, c.SetId, c.Added, z.Username, z.Visible
现在上课:
Imports Microsoft.VisualBasic
Public Class TableCard
Public CardId As Integer
Public CardType As Integer
Public Text As String
Public Answers As Integer
Public SetId As Integer
Public Added As Date
Public Visible As Boolean
Public Username As String
End Class
最后这个问题:
官方错误是
BC30978: Range variable 'Username' hides a variable in an enclosing block or a range variable previously defined in the query expression.
在研究这个错误后,我想出了 zip、zilch、nada。现在,直到我将 z.username
添加到最后才出现错误。在此之前它运行良好。 Username
字段是该表中的有效字段。我在代码的其他部分使用了 CAH_RoundCards ,没有任何问题。我需要做什么才能让它发挥作用?
最佳答案
我发现了...在代码的早期,我有一个名为 UserName 的变量...所以我只是更改了它并且它起作用了。
关于Linq 因 Range 变量 'Username' 隐藏变量而出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19122463/