0

我正在向使用 EntitySpaces 的旧 ServiceStack 应用程序添加新功能。我正在构建一个非常简单的 SQL 查询,当我执行它时,它根本不返回任何记录。如果我在尝试加载集合、复制查询并在 SSMS 中执行它的位置设置断点,我会得到我正在寻找的记录。但是当我让 ES 执行它时,它得到 0 个结果。

这是查询。

SELECT pchtq.[status], 
       pchtq.[amount], 
       pchtq.[recordcreatedatetime], 
       utaq.[username], 
       utaq.[fullname] 
FROM   [DATABASE].[dbo].[transactions] pchtq 
       INNER JOIN [DATABASE].[dbo].[userinfo] utaq 
               ON pchtq.[id] = utaq.[id] 
WHERE  ( ( ( pchtq.[recordcreatedatetime] >= '01/01/2009' 
             AND pchtq.[recordcreatedatetime] <= '05/10/2016' ) 
           AND Upper(pchtq.[status]) = 'PAID' ) 
          OR Upper(pchtq.[status]) = 'AUDIT' )   

这是C#

pchtq
.Select(
    pchtq.Status,
    pchtq.Amount,
    pchtq.RecordCreateDateTime,                    
    utaq.UserName,
    utaq.FullName)
.InnerJoin(utaq).On(pchtq.id== utaq.id)
.Where(pchtq.RecordCreateDateTime >= request.StartDate 
    && pchtq.RecordCreateDateTime <= request.EndDate 
    && pchtq.Status.ToUpper() == "PAID" || pchtq.Status.ToUpper() == "AUDIT");


if (pchtc.Load(pchtq))
{
     //stuff
}

就像我说的,实际的 SQL 查询在执行时返回 1 行(这是我所期望的)。C# 什么也不返回。此外,查询中的参数在 SQL 和 C# 之间是相同的

4

0 回答 0