2017-05-17 4 views
-1

固有の配送先住所のリストを取得する必要があります。オブジェクトのリストまたはオブジェクトの1つ以上のプロパティにDistinctを使用する方法

var shippingAddresses = ShopApi.Checkout.GetShippingAddresses(Shop.CommerceContext.AccountId).ToList(); 

これは私に出荷アドレスオブジェクトのリストが表示されますが、それらの2は、同上列に同じ値を持っています。どのようにフィルタリングするか、リストに1つの値しか得られませんか?

My ShippingAddressオブジェクトは次のようになります。

public string Id { get; set; } 
public string CustomerId { get; set; } 
public string Address { get; set; } 
public string Address2 { get; set; } 
public string City { get; set; } 
public string CountryId { get; set; } 
+2

あなたはどのようにしたいですか? –

+0

決定する必要はありません。私は一意のリストアドレスがほしい。 – samithagun

答えて

1

あなたの状況に応じた解決策があります。あなただけの各ID値のための1行を取得

public class ShippingAddresses 
{ 
    public string Id { get; set; } 
    public string CustomerId { get; set; } 
    public string Address { get; set; } 
    public string Address2 { get; set; } 
    public string City { get; set; } 
    public string CountryId { get; set; } 
} 

List<ShippingAddresses> shippingAddresses = new List<ShippingAddresses>(); 

//This statement will help you only get 1 row for each ID value 
shippingAddresses = shippingAddresses.GroupBy(p => p.Id).Select(p => p.First()).ToList(); 
0

に再びそののShippingAddressオブジェクトのどこかに、基礎となるデータベースのクエリがありますが、あなたのリストをフィルタリングすることができます。そのようなクエリは、次のように一意の結果のみを含むように変更する必要があります。

(from dbo in database.ShippingAddress 
select dbo.Id).Distinct() 
+0

私はクエリ部分としてはできませんが、DLLにあります。 – samithagun

関連する問題