2016-10-07 33 views
0

我正在开发Web API,我在返回数据时出错;显式转换错误

不能隐式转换类型

我试图修复一个错误,但失败了,让我有很大的自开发人员喜欢你一些帮助。我会感激。 下面是代码:

public IEnumerable<TABLE1> LoadSubIndustryByID(int id) 
{ 
    foreach (var subIndustry in Db.TABLE1.Where((u) => u.us_user_id == id)) 
    { 
     var childIndustry = Db.TABLE2.Where((c) => c.sci_cat_id == subIndustry.sci_cat_id); 
     yield return childIndustry; 
    } 
} 

本声明:yield return childIndustry;给出了一个错误,其他的语句都很好。其实它只抱怨childIndustry

+0

由于'childIndustry'为'IEnumerable ',但您的方法正在返回'IEnumerable '。您应该将方法的返回类型更改为'IEnumerable '。 –

回答

1

当您正在生成TABLE2类型时,您的函数正在返回TABLE1的IEnumerable

你应该改变函数返回IEnumerable<TABLE2>

0
public IEnumerable<TABLE2> LoadSubIndustryByID(int id) 
{ 
    foreach (var subIndustry in Db.TABLE1.Where((u) => u.us_user_id == id)) 
    { 

     var childIndustry = Db.TABLE2.Where((c) => c.sci_cat_id == subIndustry.sci_cat_id); 

     yield return childIndustry; 
    } 
} 

这将工作。