gpt4 book ai didi

c# - 使用一个数组中的所有值创建一个数组,这些值与 C# 中另一个数组中的值匹配

转载 作者:行者123 更新时间:2023-11-30 23:22:00 24 4
gpt4 key购买 nike

我有一个这样的数据库类:

public partial class Colour
{
public int ColourID { get; set; }
public string Colour1 { get; set; }
}

另一个像这样的类:

public partial class RangeColour
{
public int RangeColourID { get; set; }
public Nullable<int> RangeID { get; set; }
public Nullable<int> ColourID { get; set; }
}

还有像这样的第三类:

public partial class Range
{
public int RangeID { get; set; }
public string RangeName { get; set; }
}

每个Range实例可以有多种来自 Colour 的颜色类(class)。所有范围和它们的颜色都在 RangeColour 中链接。类(class)。

这种关系建立如下:RangeIDRange表是 RangeID 的主键在RangeColour table 。

同理ColourIDColour表是 ColourID 的主键在RangeColour table 。

我得到一个 IEnumerable我的 c# 方法中的特定范围如下:

 public class HomeController : Controller

{
Entities db = new Entities();

public ActionResult Product(int id)
{

IEnumerable<RangeColour> colran = db.RangeColours.Where(c => c.RangeID == id);
//other code
}
}

现在我有一个 IEnumerableRangeColours所有 colourID 的表格属于那个 RangeID我怎样才能制作一个新的 IEnumerable其中包含所有 Colour1与那些ColourID一起去来自 Colour 的值表中呢?我确信这可以通过某种 lambda 表达式来完成。

最佳答案

您可以使用 Join IQueryable 上的扩展以获取颜色。

IQueryable<Colour> colors = db.Colors.Join(
db.RangeColours.Where(c => c.RangeID == item.RangeID),
c => c.ColourID,
r => r.ColourID,
(c, r) => c);

然后您可以根据需要选择 Colour1 字符串。并在内存中需要时使用 ToList()

colors.Select(c => c.Colour1).ToList()

关于c# - 使用一个数组中的所有值创建一个数组,这些值与 C# 中另一个数组中的值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977736/

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