Range变量在封闭块LINQ中隐藏变量

时间:2013-04-27 15:34:37

标签: database vb.net linq 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.我不是最好的编码,所以我在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)

只有在select mods1.year查询中select mods.semesteryear NB上的错误才会抛出错误,数据库变暗已更改为1。这只是我试图解决问题。如果删除它,它不会更改代码。

1 个答案:

答案 0 :(得分:4)

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