Abe*_*ler 1 linq asp.net linq-to-sql
我有下面的代码,我试图通过我的qestAires匿名类型的孩子问题.当我到达foreach循环时,我得到错误:
foreach语句不能对"问题"类型的变量进行操作,因为"问题"不包含"GetEnumerator"的公共定义
我需要做些什么来解决这个问题呢?
var questAires = (from qs in dc.Questionnaires
from q in dc.Questions.Where(t => t.QuestionnaireId == qs.QuestionnaireID)
from r in dc.Responses.Where(qr => qr.QuestionID == q.QuestionId).DefaultIfEmpty()
where qs.QuestionnaireID == QuestionnaireId
select new
{
qs.Description,
Questions = q,
Responses = r
}).Single();
foreach(var question in questAires.Questions)
{
}
Run Code Online (Sandbox Code Playgroud)
questAires.Questions只会解决一个问题,你会得到questAires每个问题的一个对象(这将导致.Single()抛出).
我想你想要这样的东西:
var questAires = (from qs in dc.Questionnaires
select new {
qs.Description,
Questions = from q in dc.Questions where q.QuestionnaireId == qs.QuestionnaireID
select new {
Question = q,
Response = (from r in dc.Responses where r.QuestionID == q.QuestionId select r).DefaultIfEmpty()
}
}).Single()
Run Code Online (Sandbox Code Playgroud)