我创建了一个SQL语句,用于从数据库中收集未处理的文件。它使用DicomDataType_LK表将结果限制为我感兴趣的人。当我运行它时,我得到两个结果。
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')
我已将其转换为LINQ to SQL,但是使用相同的连接我得到的结果为零。
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提供的值应该包括我的两个结果。有人可以让我知道我的翻译错误吗?
答案 0 :(得分:1)
从我所看到的:
AND dicoms.CreateDate >= '3/27/2017'
与&& dicoms.CreateDate > fromTime
即。 >=
与>