[英]LINQ multiple childs in 1 row
我的表結構如下:
問題
id title
1 what is this?
答案
id answer qid
1 an 1
我想通過LINQ在一行中選擇問題和所有答案嗎?
我怎樣才能做到這一點?
除了Hasan的答案,如果您使用的是LinqToSql並且您的關系已正確建立,則代碼應該簡單地是:
var question = questions.Single(x => x.Id == 3);
答案應該已經可以通過該屬性提供給您:
var answers = question.Answers;
因為大概您在question.Id
和answer.Qid
之間定義了實際的關系。
更新:
為了回應OP的評論,以下是將所有數據作為一行返回的方法:
var questionAndAnswers = questions
.Where(x => x.Id == 3)
.Select(x => new
{
QuestionId = x.Id,
Question = x.Title,
Answer1 = x.Answers[0].Answer,
Answer2 = x.Answers[1].Answer,
Answer3 = x.Answers[2].Answer
}).Single();
將返回一個帶有問題和3個答案的對象。 顯然,添加更多答案需要調整此語句,因為它已變平。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.