Linq 因 Range 变量 'Username' 隐藏变量而出错

标签 linq class range block

首先是代码:

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/

相关文章:

c# - 用 Linq 替换嵌套循环

sql - LINQ to SQL 和附加子对象

c# - 如何使用 Entity Framework 和 Asp.Net 为 CRUD 操作编写 Linq 查询?

javascript - 如何使用正则表达式来表示 18-99 之间的整数范围?

c++ - 我可以从基于 for 循环的范围内获取项目的索引吗?

python - 什么是 <class 'range' >

c# - 通过 Linq 找到给定对象的 2 个邻居

matlab - 可写Matlab(附加表?)

java - Java 中的参数化类型不匹配

java - 如何将 .class 文件转换为 .java 文件?