2016-11-08 82 views
-5

我的代碼中有一個錯誤,我不知道是什麼原因造成使用可轉換爲'System.IDisposable'的實體的MVC分層架構?

namespace cms.data.System 
{ 
    public class MenuProccess 
    { 
     public static List<ModelMenu> GetMenus(Nullable<int> LanguageID){ 

     using (cmsEntities db = new cmsEntities) //error on this line 
     { 
      return null; 
     } 

     return null; 
    } 
} 

誤差

「cmsEntities」:在使用語句中使用必須是隱式轉換爲「系統類型。 IDisposable'

+2

cmsEntities沒有實現'System.IDisposable' –

+0

如果cmsEntities從DataContext的派生然後看到[這個問題](http://stackoverflow.com/questions/12508031/entity-framework- 5-model-first-where-is-idisposable-gone)_「......你的問題很可能是你的模型是在一個單獨的程序集中定義的,該程序集引用了EF5,並且你沒有在項目中添加EF5引用」_ – stuartd

+0

'Nullable順便說一句,''可以用'int?'替換! –

回答

2

cmsEntities類必須實現IDisposable接口以使用「using」語句。

3

當我們使用一個using聲明

using(var a = new ClassName()) 
{ 

} 

使用應該實現IDisposable接口ClassName或任何類。話雖如此,很明顯cmsEntities沒有實現這個接口。

0

問題可能是項目名稱更改。

我坐了,我哭了。 我創建了一個新項目。 我又開始了。 感謝上帝,我今天開始了這個項目。 我沒有走得太遠。

謝謝:)