C# 求解多属性连接问题

C# 求解多属性连接问题,c#,algorithm,C#,Algorithm,假设有两个表:PropertyTypes和Properties PropertyTypes ID | Name 1 | Color 2 | Country 3 | Size Properties ID | ID PropertyTypes | Name 1 | 1 | Red 2 | 1 | Blue 3 | 1

假设有两个表:PropertyTypes和Properties

PropertyTypes 
ID    |     Name
1     |     Color
2     |     Country
3     |     Size

Properties
ID    |  ID PropertyTypes | Name
1     |  1                | Red
2     |  1                | Blue
3     |  1                | Green
4     |  2                | China
5     |  2                | Macau
6     |  3                | S
7     |  3                | L
例如,如果我在上面选择properties 1,2,4 5,如果有两个不同的PropertyTypes,我想要的列表如下(2x2=4):

如果我选择所有属性,这里有3个不同的属性类型,我想要的列表如下(3x2x2=12):

以此类推,如果我们将来添加更多的属性类型和属性

我不知道如何在不更改代码和避免重复的情况下进行循环以获得这些结果,以便将来扩展


如果你发现了什么,请帮助我。

如果你有适用于这三个属性的代码,请将其作为示例发布,也许有人会帮助你证明:)你有3个属性。将两个例子结合起来,并将其视为单个属性。然后,你可以用第三个属性做所有的组合
Red-China
Red-Macau
Green-China
Green-Macau
Red-China-S
Red-Macau-S
Blue-China-S
Blue-Macau-S
Green-China-S
Green-Macau-S
Red-China-L
Red-Macau-L
Blue-China-L
Blue-Macau-L
Green-China-L
Green-Macau-L