2

我必须弄清楚如何为具有一定数量 (x) 属性的产品生成 SKU,并且每个属性都有一定数量 (y) 的值。例如:

一件 T 恤具有以下属性:

  • 颜色
  • 尺寸
  • 性别
  • 袖子

这些属性的值是:

  • 颜色:红色,白色,蓝色
  • 尺码:S、M、L、XL
  • 性别:男,女
  • 袖子:短,长

我需要为每个独特的组合创建一个 SKU,例如 SKU #: 1234 代表小号、红色、男式短袖,SKU #: 2345 代表小号、红色、男式、长袖。

我的课:

public class Sku
{
    public int Id { get; set; }

    public int ProductId { get; set; }

    public string Name { get; set; }

    public List<SkuDetail> SkuDetails { get; set; };
}


public class SkuDetail
{
    public int Id { get; set; }

    public int SkuId { get; set; }

    public string Name { get; set; }
}

演示数据:

var skus = new List<Sku>();
skus.Add(new Sku
{
    Name = "Size",
    SkuDetails = new List<SkuDetail>
    {
        new SkuDetail {Name = "S"}, new SkuDetail {Name = "M"},
        new SkuDetail {Name = "L"}, new SkuDetail {Name = "XL"}, new SkuDetail {Name = "XXL"}
    }
});
skus.Add(new Sku
{
    Name = "Color",
    SkuDetails = new List<SkuDetail>
    {
        new SkuDetail {Name = "Red"}, new SkuDetail {Name = "White"},
        new SkuDetail {Name = "Black"}
    }
});
skus.Add(new Sku
{
    Name = "Style",
    SkuDetails = new List<SkuDetail>
        {new SkuDetail {Name = "Modern"}, new SkuDetail {Name = "classic"}}
});

我想使用最有效的方法,但我只能想到嵌套的 foreach 语句。我可以在这里使用一些逻辑帮助。

4

0 回答 0