使用c#从LINQ到SQL

本文关键字:SQL LINQ 使用 | 更新日期: 2023-09-27 18:08:52

在c# 2008 windows应用程序中,我有以下linq to sql语句,指向sql server 2008 r2数据库。下面的查询返回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不包含一个有效值。我哪里错了?

使用c#从LINQ到SQL

您的linq查询看起来必须工作。rData.IPackages。Trc_num是整型还是数字?所以你可以使用HasValue而不是检查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.HasValue)  && ip.trc_num == SubmissionPkgID
                        group ip by ip.trc_num into g
                        select new { trc_num = g.Key, Frequency = g.Count() })
   .FirstOrDefault();