私は下の4つのテーブルに参加しようとしていますが、以下の質問がありますが、私は各アンケートに関連するすべての回答と質問を取得する方法を教えていません。 このクエリでは、1つの回答と質問のみが取得されます。Linq Join query 4 tables
おかげで、私は、クエリの出力を使用したい
var query = from x in db.Questionario
join y in db.Question on x.QuestionarioId equals y.QuestionarioId
join j in db.Answer on y.QuestionId equals j.QuestionId
join w in db.TypeAnswer on y.TypeAnswerId equals w.TypeAnswerId
select new QuestionarioAlldetails
{
TypesAnswer = w.TypesAnswer,
Questiontext = y.Questiontext,
Answerv=j.Answerv,
Name=x.Name,
};
:
<ContentPage.BindingContext>
<viewModels:InqueritogViewModel/>
</ContentPage.BindingContext>
<StackLayout>
<Button Command="{Binding GetinqueritoCommand}" Text="Aceder a Questionarios"></Button>
<ListView x:Name="InqueritoView" ItemsSource="{Binding Inqueritos}" HasUnevenRows="True" ItemSelected="ListView_OnItemSelected">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<StackLayout >
<Label x:Name="Label1" Text="{Binding Questiontext}"></Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<controls:Checkbox></controls:Checkbox>
<Label Text="{Binding Answerv}" VerticalTextAlignment="Center"></Label>
</StackLayout>
<StackLayout Orientation="Horizontal">
<controls:Checkbox></controls:Checkbox>
<Label Text="{Binding Answerv}" VerticalTextAlignment="Center"></Label>
</StackLayout>
<StackLayout Orientation="Horizontal" >
<controls:Checkbox></controls:Checkbox>
<Label Text="{Binding Answerv}" VerticalTextAlignment="Center"></Label>
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
ヒント: 'foreach'ループを使います。 – Rooben
しかし、どのように?それぞれの質問はquestion1、question2などのような新しい変数を作成しなければならず、同じ答えになります。 – Phill
これは、あなたの質問があなたがどこで呼び出しているかと同じスコープにあるかどうかによって決まります。この答えを見てください。[ここ](https://stackoverflow.com/questions/3601301/how-to-extract -results-from-a-linq-query) – Rooben