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