有 2 个数据集 - 宠物:
Pet[] pets =
{
new Pet() { Name = "Vasya", Type = "Cat", Owner = "John" },
new Pet() { Name = "Borya", Type = "Dog", Owner = "Dean" },
new Pet() { Name = "Kim", Type = "Hedgehog", Owner = "Mary" },
new Pet() { Name = "Joka", Type = "Dog", Owner = "John" },
new Pet() { Name = "Mursick", Type = "Cat", Owner = "Dean" },
new Pet() { Name = "Mick", Type = "Cat", Owner = "Mary" },
new Pet() { Name = "John", Type = "Hedgehog", Owner = "John" },
new Pet() { Name = "Jynx", Type = "Dog", Owner = "Dean" }
};
和他们的主人:
Owner[] owners =
{
new Owner() { Name = "John", Country = "USA" },
new Owner() { Name = "Mary", Country = "Switzerland" },
new Owner() { Name = "Dean", Country = "Great Britain" }
};
从这两组中,我想确定每个国家有多少每种类型的宠物。那些。我需要一个与此SQL查询等效的LINQ查询:
SELECT O.Country, P.Type, Count(P.Type) AS Amount
FROM owners AS O INNER JOIN pets AS P
ON O.Name = P.Owner
GROUP BY O.Country, P.Type;
有可能用LINQ得到这个吗?
