简体   繁体   English

使用C#的LINQ to SQL

[英]LINQ to SQL using C#

In a C# 2008 windows application, I have the following linq to sql statement that points to a sql server 2008 r2 database. 在C#2008 Windows应用程序中,我具有以下linq to sql语句,该语句指向sql server 2008 r2数据库。 The following query returns null. 以下查询返回null。 But there are records to be fetched. 但是有一些记录需要获取。

//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 != null) && ip.trc_num == SubmissionPkgID
   group ip by ip.trc_num into g
   select new { trc_num = g.Key, Frequency = g.Count() }).FirstOrDefault();

Note: SubmissionPkgID does contain a valid value. 注意:SubmissionPkgID确实包含有效值。 Where i'm worng? 我在哪里?

Your linq query look ok it must work. 您的linq查询看起来不错,它必须可以工作。 rData.IPackages.trc_num is int or mumeric right? rData.IPackages.trc_num是int还是mumeric的对吗? so you may use HasValue instead of checking Null value. 因此您可以使用HasValue而不是检查Null值。

//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. 希望这会帮助你。

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

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