gpt4 book ai didi

c# - LINQ - 获取某个属性位于该属性类型的其他结果集中的结果

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

我想找到每个 BuildingPrice,其中 BuildingPrice.ShedStyle 属性将在 ShedStyles.Where(...) 的结果中

var prices = db.BuildingPrices.Where(
p => p.ShedStyle.IsAmong( //There must be some obvious method for this
db.ShedStyles.Where(s => s.Name.Contains("text")
);

public class BuildingPrice
{
public ShedStyle ShedStyle { get; set; }
}
public class ShedStyle
{
public string Name { get; set; }
}
public class Context : DbContext
{
public DbSet<BuildingPrice> BuildingPrices { get; set; }
public DbSet<ShedStyle> ShedStyles { get; set; }
}

最佳答案

可以使用Any()Contains() 执行此操作:

var prices = db.BuildingPrices.Where(
p => db.ShedStyle.Where(s => s.Name.Contains("text")).Any(x=> x.Name == p.ShedStyle.Name));

但鉴于您的查询,为什么不能直接测试条件?

var prices = db.BuildingPrices.Where(p=> p.ShedStyle.Name.Contains("text"));

后一种方法似乎更直接。

关于c# - LINQ - 获取某个属性位于该属性类型的其他结果集中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9510143/

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