私はこのような既存のデータベース設計から調査エンジンを構築しようとしています。エンティティごとにLinqグループを作成し、グループ化された(ヌル入力可能な)エンティティによって注文する
Survey - Not so Relavent
========================
SurveyID
SurveyName
SurveyQuestionCategories
=========================
SurveyQuestionCategoryID
SurveyQuestionCategory
SurveyID
RecordOrder
SurveyQuestions
================
SurveyQuestionID
SurveyQuestion
SurveyID
SurveyQuestionCategoryID
RecordOrder
調査の質問リストは基本的には常にありますが、調査には質問カテゴリがある場合とない場合があります。私がしたいのは、カテゴリー別にグループ化された調査のすべての質問(存在する場合)を引き出し、カテゴリレコードの順序(存在する場合)と質問レコードの順序で並べ替える1つのlinqクエリです。私はこれまでこれのようなものを持っています。グループ分けは、NULL SurveyQuestionCategoryによってグループ分けを扱うように、これは正常に動作
Dim AllQuestions = From sq In CurrentSurvey.SurveyQuestions
Order By sq.RecordOrder
Group sq By Key = sq.SurveyQuestionCategory Into Group
Select QuestionCategory = Key, Questions = Group
(ジャスト変数CurrentSurveyは、現在表示されているアンケートを表すエンティティを保持していることを前提とし)。問題は今私がこれにクエリを変更するときです。 Key.RecordOrderことで
Dim AllQuestions = From sq In CurrentSurvey.SurveyQuestions
Order By sq.RecordOrder
Group sq By Key = sq.SurveyQuestionCategory Into Group
Order By Key.RecordOrder
Select QuestionCategory = Key, Questions = Group
ライン注文は、null参照の例外をスローし、私は理由を理解することができます。誰かがこの1つのクエリを変更するだけでこれを解決する方法をアドバイスできますか?私はLINQにはかなり新しく、このプロジェクトをVB .NETで書く必要はありません。 :-)
あなたが知っているように、私は問題に別のアプローチをとっています。私はすでに外部の参加を残してみましたが、私はそのアプローチによる注文について混乱しています。ここに私の代わりの質問です。
Dim AllSurveyQuestions = (From sq In CurrentSurvey.SurveyQuestions Group Join qc In CurrentSurvey.SurveyQuestionCategories
On sq.SurveysNEW Equals qc.SurveysNEW Into sqc = Group
From qc In sqc.DefaultIfEmpty()
Select sq Order By sq.RecordOrder).Distinct()
ありがとうございました。
ありがとう、これは完璧に機能しました! –