2010-09-07 169 views
0

这里是我的代码:(前Country Code=Null, DestinationCode=null,Agent=NullNull值在返回结果

Dim QSD = From VM In cntxtVessel.VesselMasters _ 
        Group Join cnt In cntxtVessel.CountryMasters On VM.CountryCode Equals cnt.CountryCode Into Cntry = Group _ 
        From CM In Cntry.DefaultIfEmpty _ 
        Group Join D In cntxtVessel.DestinationMasters On VM.DestinationCode Equals D.DestinationCode Into Dest = Group _ 
        From DM In Dest.DefaultIfEmpty _ 
       Group Join Car In cntxtVessel.CarrierMasters On VM.ClientCode Equals Car.CarrierCode Into Cr = Group _ 
       From CS In Cr.DefaultIfEmpty _ 
       Where VM.VesselCode <> 0 _ 
       Order By VM.VesselName Ascending _ 
       Select VesselCode = VM.VesselCode, VesselID = VM.VesselID, VesselName = VM.VesselName, ServiceType = VM.ServiceType, ClientCode = CType(CS.CarrierCode, Int32), Agent = CS.CompanyName, RefNo = VM.RefNo, VesselType = VM.VesselType, Length = VM.Lenght, Width = VM.Weight, Height = VM.Height, VesselBuiltDate = VM.VesselBuiltDate, AgeOfShip = VM.AgeOfShip, ShipBuilder = VM.ShipBuilder, CountryCode = CType(CM.CountryCode, Int32?), CountryName = CType(CM.CountryName, String), DestinationCode = CType(VM.DestinationCode, Int32?), DestinationName = DM.DestinationName, Flag = VM.Flag, CallSign = VM.CallSign, IMONo = VM.IMONo, NRT = VM.NRT, ContactPerson = VM.ContactPerson, MobileNo = VM.MobileNo, TPNo = VM.TPNo, Fax = VM.Fax, Email = VM.Email, Web = VM.Web, Remarks = VM.Remarks, InActive = VM.InActive 

     ugrdVessel.DataSource = QSD 

以上(LEFT OUTER JOIN)代码一些列返回空值我如何prenevt这个空返回值

+0

不要忘记给予好评和标记答案,接受它是否适合你... – 2012-07-24 12:04:47

回答

0

做一些事情,如下你在哪里得到客户与不为空值

var query = from cust in Context.Customers 
         where cust.CustomerName != null 
         group cust by c.CustomerName into groupby 
         select new { groupby.Key, Count = groupby.Count() }; 

VB.Net

Dim query = From groupby In From cust In Context.Customers Where cust.CustomerName IsNot NothingGroup cust By c.CustomerNameNew With { _ 
    groupby.Key, _ 
    Key .Count = groupby.Count() _ 
} 

编辑 - 用于处理空值

The C# ?? null coalescing operator (and using it with LINQ)

alt text

+0

谢谢vb.net请 – Suhaibnm 2010-09-07 08:47:20

+1

@Suhaibnm - ans更新........... – 2010-09-07 09:02:28

+0

没有分组只剩下外部联接如果空返回我想让它进入0 /''我的意思是我们通常在做sql查询例如:isnull(fieldname,0)/ isnull(fieldname,'') – Suhaibnm 2010-09-07 09:11:23