2014-01-20 15 views
0

我有一個查詢正在返回多個結果集。使用不同的ShipperName獲取實體結果

List<FromAddress> address1 = (from a in stEntities.ShipFromInfoes 
           join b in stEntities.Addresses on a.AddressId equals b.AddressId 
               where a.ShipperName.StartsWith(namestartwith)         
           select new FromAddress() 
           { 
            ShipperName = a.ShipperName, 
            TAddressId = a.AddressId, 
            AddressLine1 = b.AddressLine1, 
            AddressLine2 = b.AddressLine2, 
            AddressLine3 = b.AddressLine3, 
            TelephoneNumber = b.PhoneNumber, 
            FaxNumber = b.FaxNumber, 
            MobileNumber = b.MobileNumber 
           }).Distinct().ToList(); 

在address1結果中,我有多個結果具有相同的ShipperName。我如何獲取帶有唯一ShipperName的所有文件的結果。

+0

這取決於你想用非唯一要做什麼地址... –

+0

我有多個結果與ShipperName「藍1」,需要閱讀爲一個結果而不是多個。 – Pradeep

+0

那麼應該選擇哪個地址? –

回答

0

嘛,你不說地址,以便對每個獨特的託運人,只能採取第一地址使用:

select new FromAddress() 
{ 
... 
}) 
.GroupBy(fa => fa.ShipperName) 
.Select(g => g.First()) 
相關問題