繁体   English   中英

将TSQL查询转换为LINQ

[英]Translating TSQL query to LINQ

我创建了一个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提供的值应该包含我的两个结果。 有人可以让我知道我在翻译中做错什么吗?

从我可以看到:

AND dicoms.CreateDate >= '3/27/2017'&& dicoms.CreateDate > fromTime

>=>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM