C# Linq查询两个数据集合时出现问题
以下是我正在使用的代码:C# Linq查询两个数据集合时出现问题,c#,asp.net,linq,C#,Asp.net,Linq,以下是我正在使用的代码: Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>(); Collection<ServiceItem> serviceItems = new Collection<ServiceItem>(); serviceItems = from si in serviceItems
Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();
serviceItems = from si in serviceItems
join cw in workOrder on si.ServiceKey equals cw.Key
select new { si };
foreach (ServiceItem item in serviceItems)
ctrl.Items.Add(...);
Collection workOrder=new Collection();
集合serviceItems=新集合();
serviceItems=来自serviceItems中的si
将cw加入si.ServiceKey上的工作顺序等于cw.Key
选择新的{si};
foreach(serviceItems中的ServiceItem项)
ctrl.Items.Add(…);
我得到这个错误:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.ObjectModel.Collection<ServiceItem>'
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Collections.ObjectModel.Collection”
我相信这是一个很容易解决的问题,但我想不出来。这背后的逻辑是,我需要根据传递给此方法的键查找工单,然后获取工单拥有的所有服务项,并对它们进行迭代,将它们放入一个组合框中。应该是
Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();
var filteredItems = from si in serviceItems
join cw in workOrder on si.ServiceKey equals cw.Key
select si;
foreach (ServiceItem item in filteredItems)
ctrl.Items.Add(...);
Collection workOrder=new Collection();
集合serviceItems=新集合();
var filteredItems=来自serviceItems中的si
将cw加入si.ServiceKey上的工作顺序等于cw.Key
选择si;
foreach(filteredItems中的ServiceItem项)
ctrl.Items.Add(…);
您不希望从LINQ表达式返回匿名类型的IEnumerable
,但只需返回IEnumerable
Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();
var filteredItems = from si in serviceItems
join cw in workOrder on si.ServiceKey equals cw.Key
select si;
foreach (ServiceItem item in filteredItems)
ctrl.Items.Add(...);
Collection workOrder=new Collection();
集合serviceItems=新集合();
var filteredItems=来自serviceItems中的si
将cw加入si.ServiceKey上的工作顺序等于cw.Key
选择si;
foreach(filteredItems中的ServiceItem项)
ctrl.Items.Add(…);
您不希望从LINQ表达式返回匿名类型的IEnumerable
,而是返回IEnumerable