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