私の仕事で仕事の番号、開始日、顧客名、モデル、完了日を収集するためのクエリを書くことを試みています。この情報を得るために、私は3つのテーブルを見て、それらをまとめるために結合を使用します。 - (各ジョブは、生産中を通過する段階)linqでグループ化せずに新しいオブジェクトを選択しますか?
はORDER - (私は顧客の名前を取得する場所です)
JOBS(日、完了日、ジョブを開始
STAGE:ここでは3つのテーブルがあります番号、モデル)
ほとんどの情報はJOBSテーブルからのものです。しかし、私は顧客番号を取得するためにジョブ番号(JobNum)でORDERテーブルに参加しています。クエリは次のようになります。私は私のviewmodelsの一つにそれを翻訳してみました前に、SQLでそれを作成した。この時点で
var CompletedTrucksQuery =
(from FA in context.JOBS
join ORD in context.ORDER on FA.ORGANIZATION_ID equals ORD.ORGANIZATION_ID
where FA.ORDER_NUMBER == ORD.ORDER_NUMBER
join StageF in context.STAGE on FA.JobNum equals StageF.JobNum
where StageF.StageID == 325
join TruckComp in context.STAGE on FA.JobNum equals TruckComp.JobNum
where TruckComp.StageID == 327
join INSP in context.STAGE on FA.JobNum equals INSP.JobNum
where INSP.StageID == 487
orderby StageF.CompDate descending, FA.JobNum ascending
select new {FA.JobNum, FA.StartDate, ORD.CUSTOMER_NAME, FA.MODEL_NAME, StageF.CompDate});
、私は(JOBSから)
ジョブ番号を選択したいよ、
開始日、
、(JOBSから)製品のモデル、
お客様の名前(ORDER)から、(ジョブから)
とStageFで完成した日付(STAGEから)
私はCompJobと呼ばれるこれらのそれぞれを保持するオブジェクトを持っていて、「グループバイ」を行い、新しいCompJobを選択してプロパティを設定しようとしましたが、それをグループ化してすべてにアクセスすることはできません私が設定したいプロパティのここで私が話しているかの抜粋です:
group new {FA.JobNum, O = ORD} by StageF into grp
select new CompletedTruck
{
JobNum = grp.Key.JobNum,
StartDate = grp. //???
}
何らかの理由で、私は開始日を「検索」ができませんでしたので、あなたは、私が停止言うことができるように。私はそれが私のグループ化と関係があることを知っています。私はlinqとデータベースには一般的に非常に新しいです。
私の質問:私はビューで私のScrollViewerの中でそれを使用することができるように私は私の
ObservableCollection<CompJob> CompJobList;
に関心のこれらの列を選択することができます最善の方法は何ですか?
こんにちは、コンテキストは実際に私の仕事で会社によって作成されたカスタム 'Flavor'を使用しています...どのくらいの情報を私はあなたにそれを与えることもできません。 –
ああ、エンティティへのLINQと '新しいCompletedTruckの選択'は、混乱を避けるためだけに '新しいCompJobを選択'する必要があります。 –
*これらのそれぞれを保持するオブジェクトがあります。 ?すぐに 'CompJob'sを作成してください:'新しいCompJob {JobNum = FA.JobNum、...} 'などを選択してください。 –