2012-05-29 151 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() 
     }); 
} 
相關問題