gpt4 book ai didi

c# - LINQ 选择带有 DISTINCT 的列表列表

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:31 24 4
gpt4 key购买 nike

假设有一个类(和相应的数据库表)如下

class Price{
int ItemID;
int ItemTypeID;
string ItemName;
string ItemTypeName;
float Price;
}

我正在搜索一个新的以通过 LINQ 查询它以获取不同项目的列表(可能使用 Take() 和 Skip() 方法)并嵌套所有相关价格的列表。

有什么建议吗?

编辑:为了使问题更简单,这里有一个例子

假设有 3 个“价格”如下

1, 1, Ball, Blue, 10 
1, 2, Ball, Red, 20
2, 1, Frisbee, Blue, 30

我想把它们放在一个简化的结构中

List<Item>

在哪里

class Item
{
string ItemName;
string ItemTypeName;
List<Price> Prices;
}

class Price
{
float Price;
}

最佳答案

听起来您可能想要一个 GroupBy。尝试这样的事情。

var result = dbContext.Prices
.GroupBy(p => new {p.ItemName, p.ItemTypeName)
.Select(g => new Item
{
ItemName = g.Key.ItemName,
ItemTypeName = g.Key.ItemTypeName,
Prices = g.Select(p => new Price
{
Price = p.Price
}
).ToList()

})
.Skip(x)
.Take(y)
.ToList();

关于c# - LINQ 选择带有 DISTINCT 的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com