1

C# 2008 Windows アプリケーションでは、SQL Server 2008 r2 データベースを指す次の linq to sql ステートメントがあります。次のクエリは null を返します。しかし、取得するレコードがあります。

//コード

   string SubmissionPkgID = "valid string value";
   var varGoodTransCount = (from t in rData.Transactions
   join iw in rData.Ibooks on t.ImportID equals iw.ImportID
   join ip in rData.IPackages on iw.PID equals ip.PID
   where (ip.trc_num != null) && ip.trc_num == SubmissionPkgID
   group ip by ip.trc_num into g
   select new { trc_num = g.Key, Frequency = g.Count() }).FirstOrDefault();

注: SubmissionPkgID には有効な値が含まれています。私はどこにいるの?

4

1 に答える 1

1

Your linq query look ok it must work. rData.IPackages.trc_num is int or mumeric right? so you may use HasValue instead of checking Null value.

//Code

string SubmissionPkgID = "valid string value";
var varGoodTransCount = (from t in rData.Transactions
                        join iw in rData.Ibooks on t.ImportID equals iw.ImportID
                        join ip in rData.IPackages on iw.PID equals ip.PID
                        where (ip.trc_num.HasValue)  && ip.trc_num == SubmissionPkgID
                        group ip by ip.trc_num into g
                        select new { trc_num = g.Key, Frequency = g.Count() })
   .FirstOrDefault();

Hope this will help you.

于 2013-04-12T07:55:49.423 に答える