我想找到每个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; }
}

最佳答案

太晚了,我的大脑还没有完全发挥作用,因为我相信使用Join可以做到,但是如果没有Join,这就是我的想法。您只是有点倒退。

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

            );

09-25 21:58