Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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# ObjectQuery返回子对象包含设置值的对象_C#_Linq_Objectquery - Fatal编程技术网

C# ObjectQuery返回子对象包含设置值的对象

C# ObjectQuery返回子对象包含设置值的对象,c#,linq,objectquery,C#,Linq,Objectquery,我有两门课,如下: public class Route { public ObservableCollection<Flight> Flights = new ObservableCollection<Flight>(); } public class Flight { string airlineName; } 公共类路由 { 公共ObservableCollection航班=新ObservableCollection(); } 公务舱航班 { 字

我有两门课,如下:

public class Route
{
    public ObservableCollection<Flight> Flights = new ObservableCollection<Flight>();
}

public class Flight
{
    string airlineName;
}
公共类路由
{
公共ObservableCollection航班=新ObservableCollection();
}
公务舱航班
{
字符串名称;
}
我想返回一份由指定航空公司运营的所有航线的列表

我试着做
路线。选择many(x=>x.Flights)。其中(x=>x.Airline==Airline)但返回所有飞行对象-我需要路线对象


有人能解释一下我如何使用ObjectQuery来实现这一点吗?提前谢谢

听起来你想要:

Routes.Where(route => route.Flights.Any(flight => flight.Airline == airline))

听起来你想要:

Routes.Where(route => route.Flights.Any(flight => flight.Airline == airline))

你的两个班级都处理航班,所以我看不到你在哪里获得航线信息,你在哪里分配航线,你的两个班级都处理航班,所以我看不到你在哪里获得航线信息,你在哪里分配航线,这有效并返回预期的结果,但是,我得到了以下错误:
无法将类型为“WhereEnumerableTerator
1[Route]”的对象强制转换为类型为“System.Collections.ObjectModel.ObservableCollection
1[Route]”。
如果我执行
var result=
则它可以工作,如果我调试
result
变量包含路由集合,正如所料。但是我需要在一个函数中使用它,该函数返回一个
observateCollection
-但是转换到这个函数失败,出现了提到的错误检查这个:谢谢,修复了它。作为参考,返回的对象是一个泛型IEnumerable,因此要转换为ObservaleCollection,您只需要:
ObservaleCollection collection=new ObservaleCollection(result)
(其中result是原始答案中查询的结果)谢谢,它可以工作并返回预期的rresult,但是我得到了以下错误:
无法将类型为“WhereEnumerableTerator
1[Route]”的对象强制转换为类型为“System.Collections.ObjectModel.ObservableCollection
1[Route]”,如果我执行
var result=
,那么它会工作,如果我调试
result
变量,它会像预期的那样包含一组路由。但是我需要在一个函数中使用它,该函数返回一个
observateCollection
-但是转换到这个函数失败,出现了提到的错误检查这个:谢谢,修复了它。作为参考,返回的对象是一个泛型IEnumerable,因此要转换为ObservaleCollection,您只需要:
ObservaleCollection collection=new ObservaleCollection(result)
(其中result是原始答案中查询的结果)感谢您的回答,不幸的是RedHat的手指更快,因此我将以第一的身份接受他的回答。@GavinCoates:根据时间戳,我实际上在RedHat之前31秒发布了答案,但我不介意:)谢谢您的回答,不幸的是,RedHat的手指更快,所以我会接受他的第一名。@GavinCoates:根据时间戳,我实际上在RedHat之前31秒发布了答案,但我不介意:)