2016-10-07 32 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; 
    } 
} 

這將工作。