0
データベースから未処理ファイルを収集するSQL文を作成しました。 DicomDataType_LKテーブルを使用して、興味のあるものに結果を限定します。実行すると、2つの結果が得られます。TSQLクエリをLINQに変換する
SELECT * FROM [Procedure].DicomData dicoms
JOIN [Procedure].DicomDataType_LK dtype
ON dicoms.DicomDataTypeID = dtype.DicomDataTypeID
WHERE dicoms.ProcedureID = '00000000-0000-0000-0000-000000000000'
AND dicoms.CreateDate > '3/27/2017'
AND (dtype.DicomDataType LIKE 'V Density'
OR dtype.DicomDataType LIKE 'Q Density'
OR dtype.DicomDataType LIKE 'i Density'
OR dtype.DicomDataType LIKE 'u Density')
私はSQLにLINQにこれを翻訳していますが、同じ接続で、私はゼロの結果を取得しています。
IQueryable<DicomData> rows = from dicoms in db.DicomDatas
join dtype in db.DicomDataType_LKs
on dicoms.DicomDataTypeID equals dtype.DicomDataTypeID
where dicoms.ProcedureID == Guid.Empty
&& dicoms.CreateDate > fromTime
&& (dtype.DicomDataType.Equals("V Density")
|| dtype.DicomDataType.Equals("Q Density")
|| dtype.DicomDataType.Equals("i Density")
|| dtype.DicomDataType.Equals("u Density"))
select dicoms;
私は、fromTimeが私の2つの結果を含むべき値を与えることを確認しました。誰かが私の翻訳で間違っていることを教えてもらえますか?私が見ることができるものから、
と同じではありません 'とdicoms.CreateDate> =「3月27日/ 2017''は' && dicoms.CreateDate> fromTime' ...つまりは同じではありません'>'は '>'と同じではありません... –
'Guid.Empty'は(例えば)' new Guid( "00000000-0000-0000-0000 -000000000000 ")'を入力します。例については、[この質問](http://stackoverflow.com/questions/358345/hanging-linq-query-with-guid-empty-in-the-where-expression)を参照してください。したがって、上記の新しいGuid構文に変換して、動作するかどうかを確認してください。私はすべてのゼロが有効なGUIDだと思うが、空のGUIDはない。 –
@SaniSinghHuttunen - ありがとうございました。 SQLで行われたステートメントは、LINQクエリが正しいかどうかをテストするためのものでした。 CreateDateは1週間前からのものですが、処理中のアイテムは今日からのものなので、いずれかの作業が必要です。 – Tim