范围变量将变量隐藏在封闭块LINQ中

Gav*_*vin 1 linq database vb.net variables range

我有以下3个查询。第一个工作正常,但是第二个工作却抛出错误,说range varible Year (or semester, respectively) hides a variable in an enclosing block or a range variable previously defined in the query expression. Im不是最擅长编码的,因此我在MSDN上查找的任何内容进一步使我感到困惑。这里的任何帮助将是巨大的。

Dim compulsoryModule = (From mods In db.Modules
                                Join deg In db.Degrees On mods.Degree_code Equals deg.Degree_code
                                Where deg.Degree_code = degree And mods.Compulsory = True And mods.Level = 1
                                Select mods.Module_code)

        Dim year = (From mods1 In db.Modules
                    Join deg1 In db.Degrees On mods1.Degree_code Equals deg1.Degree_code
                    Where deg1.Degree_code = degree And mods1.Compulsory = True And mods1.Level = 1
                    Select mods1.Year)

        Dim semester = (From mods In db.Modules
                        Join deg In db.Degrees On mods.Degree_code Equals deg.Degree_code
                         Where deg.Degree_code = degree And mods.Compulsory = True And mods.Level = 1
                      Select mods.Semester)
Run Code Online (Sandbox Code Playgroud)

错误仅 在查询行select mods1.yearselect mods.semesterNB中抛出,year数据库暗点已更改为1。这只是我要解决的问题。如果删除它们,它不会更改代码。

Gav*_*vin 5

我将Dim年份更改为年份,Dim将学期更改为学期。这已纠正错误