我需要获取唯一送货地址列表。
var shippingAddresses = ShopApi.Checkout.GetShippingAddresses(Shop.CommerceContext.AccountId).ToList();
这将为我提供送货地址对象列表,但其中两个对象 ID 列具有相同的值。如何过滤该列表或仅获取列表中的一个值?
我的 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; }
答案 0 :(得分: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();
答案 1 :(得分:0)
在该ShippingAddress对象的某处,有一个底层数据库查询。该查询需要修改为仅包含唯一结果......如下所示:
(from dbo in database.ShippingAddress
select dbo.Id).Distinct()