2013-05-21 31 views
0

在下面我的代码有一个问题:在控制器部分ASP.NET MVC 4调查项目

List<SurveyContext> surveys = (from s in DbContext.Surveys 
            where s.userName == s.userName 
            select s.ID).ToList(); 
    if(surveys.Count() > 0) 
       { 
        int id = 0; 
        int.TryParse(Surveys.First(), id); 
        return id; 
       } 
       return 0; 

错误:ToList()

错误1不能声明名为 's' 的局部变量在这个范围内,因为它会给's'赋予不同的含义,'s'已经在'父或当前'范围内用于表示其他内容

和here: int.TryParse(Surveys.First(),id ); 名称'Surveys'在当前上下文中不存在 但这个名称存在于上下文中......任何人都可以帮助我?

回答

1

错误1

使用==,而不是=

where s.userName == userName 

错误2

尝试命名你的LINQ查询s变量以不同的方式,也许susurvey。但在我看来,错误在于你没有显示的代码。

List<SurveyContext> surveys = (from su in DbContext.Surveys 
           where su.userName == su.userName 
           select su.ID).ToList(); 

错误3

我认为你的意思surveys而不是Surveys,你需要使用out通过id PARAM

int.TryParse(surveys.First(), out id); 

既然你不评价解析结果我当'd说你应该使用int.Parse

id = int.Parse(surveys.First()); 

而且你必须使用调查的属性,你想整个调查实例转换为int

id = int.Parse(surveys.First().Property); 
+0

我这样做,但它给人的问题“.ToList()” –

+0

我喜欢改变这但给我同样的错误... :( –

+0

嘿@radiolaDollani,请更新您的问题,以显示新的错误信息和/或只是创建一个新的问题。克劳迪奥雷迪已经解决了3个错误。这需要一段时间,但您可能需要为每个问题发布一个新问题。 –