Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ-获取某个属性位于该属性类型的另一个结果集中的结果_C#_.net_Linq_Entity Framework - Fatal编程技术网

C# LINQ-获取某个属性位于该属性类型的另一个结果集中的结果

C# LINQ-获取某个属性位于该属性类型的另一个结果集中的结果,c#,.net,linq,entity-framework,C#,.net,Linq,Entity Framework,我想找到BuildingPrice.ShedStyle属性将包含在ShedStyles结果中的每个BuildingPrice。其中 您可以使用任何或包含以下内容来执行此操作: 但是考虑到你的疑问,为什么你不能直接测试条件呢 var prices = db.BuildingPrices.Where(p=> p.ShedStyle.Name.Contains("text")); 后一种方法似乎简单得多。您可以使用任何或包含: 但是考虑到你的疑问,为什么你不能直接测试条件呢 var price

我想找到BuildingPrice.ShedStyle属性将包含在ShedStyles结果中的每个BuildingPrice。其中

您可以使用任何或包含以下内容来执行此操作:

但是考虑到你的疑问,为什么你不能直接测试条件呢

var prices = db.BuildingPrices.Where(p=> p.ShedStyle.Name.Contains("text"));
后一种方法似乎简单得多。

您可以使用任何或包含:

但是考虑到你的疑问,为什么你不能直接测试条件呢

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

后一种方法似乎简单得多。

有点晚了,我的大脑还没有满负荷工作,因为我相信这可以通过连接来完成,但如果没有连接,我想到的就是这个。你只是有点倒退

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

            );

现在有点晚了,我的大脑还没有满负荷工作,因为我相信这可以通过连接来完成,但如果没有连接,这就是我的想法。你只是有点倒退

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

            );

BrokenGlass是正确的,直接通过对象查询这个将是更具表现力的方法,我到目前为止只对字符串使用了Contains,但没有意识到它与我想象中的IsAmong扩展相反-thanksBrokenGlass是正确的,直接通过对象查询这个将是我仅有的更具表现力的方法到目前为止,我在字符串中使用了Contains,但没有意识到它与我想象中的IsAmong扩展相反-Thanks我试着做一些简单的例子,但有时它们会得到更简单的解决方案,绕过了我要问的问题:所以它看起来像Any,Contains有时可以互换使用,但是w/Contains你只直接传递对象,而不是比较器。我试着做一些简单的例子,但有时它们会有更简单的解决方案,绕过我要问的问题:所以它看起来像Any,Contains有时可以互换使用,但是w/Contains您只直接传递对象而不是比较器。谢谢-我想Contains只用于字符串-不知道为什么谢谢-我想Contains只用于字符串-不知道为什么
        var prices = db.BuildingPrices.Where
            (
                p => db.ShedStyles
                    .Where( s => s.Name.Contains("text"))
                    .Contains(p.ShedStyle)

            );