Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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/8/linq/3.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#_Linq - Fatal编程技术网

C# Linq:基于子集合选择父级

C# Linq:基于子集合选择父级,c#,linq,C#,Linq,我有一个类型“Download”有一个集合“IEnumerable”,并且正在尝试返回一个下载集合,其中集合中的产品符合条件。 以下是我迄今为止的尝试。我想问题是我需要选择父对象,因为我收到了“转换错误”子类型“不转换为父对象”等 public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid) { var downloads = (IEnu

我有一个类型“Download”有一个集合“IEnumerable”,并且正在尝试返回一个下载集合,其中集合中的产品符合条件。 以下是我迄今为止的尝试。我想问题是我需要选择父对象,因为我收到了“转换错误”子类型“不转换为父对象”等

    public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid)
    {
        var downloads =
            (IEnumerable<Download>)
            MyDataContext.Instance.Downloads.SelectMany(
                    x => x.bmdAType).Where(
                                     a => a.Id == prodid);
        return downloads;
    }
公共静态IEnumerable GetDownloadsBasedOnProductId(int-prodid)
{
var下载=
(IEnumerable)
MyDataContext.Instance.Downloads.SelectMany(
x=>x.bmdAType)。其中(
a=>a.Id==prodid);
返回下载;
}

关于查询子项集合时如何返回正确类型,您有什么想法吗?

您正在寻找类似的方法吗

public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid)
{
    return MyDataContext.Instance
                        .Downloads
                        .Where(download => downloads.Any(a => a.Id == prodid));
}
公共静态IEnumerable GetDownloadsBasedOnProductId(int-prodid)
{
返回MyDataContext.Instance
.下载
.Where(download=>downloads.Any(a=>a.Id==prodid));
}

您可以添加下载和产品类的声明吗?如果没有,这个问题只能通过猜测来回答。谢谢您的回复。bmdAType是一个IEnumerable-需要更多的信息吗?可能,在尝试执行时,它确实会抛出一个错误“object reference not set”,但逻辑似乎是合理的。我会进一步调查的