2012-05-29 105 views
1

我有一个ListQuestionData。下面的QuestionData类解释:查询EF并将结果(记录)保存到列表中?

class QuestionData 
{ 
    public string Question { get; set; } 
    public List<Option> Answers { get; set; } 
} 

我使用EF作为ORM(注:QuestionQuestionData中都使用Option是EF的自动生成的实体)。

两个表(Question S和Option S)具有PK-FK关系。我想填写QuestionData的列表,因为我必须显示Question s和其下的答案。我如何填写QuestionData

回答

0
using(QuestionContext context = new QuestionContext()) 
{ 
    List<QuestionData> questionDatas = 
     context.Questions.Select(q => new QuestionData() 
     { 
      Question = q.Value, 
      Answers = q.Options.ToList() 
     }); 
} 
+0

感谢YEONHO,它给2个错误。你可以请指导。 1. On .Select(q给出错误:无法将lambda表达式转换为类型'string',因为它不是委托类型 2.在q.Options上给出错误:无法隐式转换类型'System.Data。 Objects.DataClasses.EntityCollection '到'System.Collections.Generic.List '\t 请指导 – haansi

+0

错误1,我认为问题实体有一个名为Value的字符串属性,你应该根据你的模式修改这段代码 在错误2处,尝试添加.ToList()到q.Options,希望这会有所帮助。 – Yeonho

1

要在YEONHO的答案扩大,我想你可能需要的东西是这样的:

using(QuestionContext context = new QuestionContext()) 
{ 
    List<QuestionData> questionDatas = 
     context.Questions.Select(q => new QuestionData() 
     { 
      Question = q, 
      Answers = q.Options.ToList() 
     }); 
} 
相关问题