2016-06-30 8 views
0

Ich habe diese Abfrage, die 2 beitreten von Entitäten istversuchen mit SingleOrDefault NULL-Verweis vermeiden

.GroupJoin(uow.Airports.List(),fbm=>fbm.FlyBillMains.AirPortId_Arrival,arr=>arr.AirPortId,(fbm,arr)=>new FlyBillMainDetails 
        { 
         BranchName = fbm.BranchName, 
         CompanyCode = fbm.CompanyCode, 
         CompanyName = fbm.CompanyName, 
         CustomerName = fbm.CustomerName, 
         FlyBillMains = fbm.FlyBillMains, 
         PayTypeName = fbm.PayTypeName, 
         PolicyCode = fbm.PolicyCode, 
         CountryName = fbm.CountryName, 
         AirportNameArrival=arr.SingleOrDefault().Name, 
         Address = fbm.Address, 
         ShipperName = fbm.ShipperName, 
         ShipperAddress = fbm.ShipperAddress, 
         ShipperPhone = fbm.ShipperPhone, 
         ConsigeeName = fbm.ConsigeeName, 
         ConsigeeAddress = fbm.ConsigeeAddress, 
         ConsigeePhone = fbm.ConsigeePhone 
        }) 

in dieser Linie

AirportNameArrival=arr.SingleOrDefault().Name 

i den NULL-Verweis bekam, wenn AirportNameArrival null ist, zu wissen, dass AirportNameArrival ist String

+0

nein ich bin gut verwirrt Arbeit :) –

Antwort

2

könnten Sie verwenden Null-conditional Operator ?.:

string AirportNameArrival = arr.SingleOrDefault()?.Name; 

Sie können es auch mit Null-coalescing operator ?? kombinieren, um leere Zeichenfolge standardmäßig zu erhalten:

string AirportNameArrival = arr.SingleOrDefault()?.Name??""; 
+0

ja NULL-Verweis festgelegt, aber die Null-Werte nicht in der Liste erscheinen –

+0

@ haithamsha Würden Sie lieber "" statt "null" bevorzugen? Würde '??' helfen? – AlexD