Linq:根据子集合选择父级

时间:2011-07-27 04:27:02

标签: c# linq

我有一个类型“下载”有一个“IEnumerable”的集合,并试图返回集合中的产品符合条件的下载集合。 以下是我迄今为止的尝试。我认为问题是我需要选择父级,因为我收到转换错误subtypeA不会转换为父级等。

    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;
    }

有关如何在查询子项集合时返回正确类型的任何想法吗?

1 个答案:

答案 0 :(得分:1)

你在找这样的东西吗?

public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid)
{
    return MyDataContext.Instance
                        .Downloads
                        .Where(download => downloads.Any(a => a.Id == prodid));
}