3

我想在MVC4測試版上出來的東西。項目使用Code First方法處於VS11 EF 5.0-Beta版本中。 創建簡單的模型poco和DbContext派生類,具有單個IDbSet <>模型類的屬性。連接字符串與LocalDb。錯誤生成<DbContext>

時上下文的實體集屬性是IDbSet <的類型,我注意到>然後我得到的消息來自VS當我嘗試與創造新的控制器「與讀取器/寫操作和視圖,使用實體框架」腳手架模板: 「生成'MyProject.MyNamespace.MyContext'時出錯,請嘗試重建您的項目。「 即使清潔解決方案和再次建設也沒有幫助。

如果我將實體集屬性更改爲鍵入DbSet <>則控制器腳手架成功。 這是一個錯誤還是可以預期的?

BR, 勞裏

回答

-1

這並不是你不能實例化一個接口的實例的錯誤。 IDbSet前面的I表示類型爲接口(按照約定)。所以你試圖創建該接口的一個實例。相反,您需要使用IDBSet接口實現的DBSet進行刪除。我希望這能澄清你的問題。

+0

好的,但腳手架與DbSet <>屬性後,我可以將它們更改爲IDbSet <>和應用程序的構建和工作。是.Net類型解析的結果還是這種性質? – LauriSaar 2012-03-24 11:03:59

+0

就我所知,正確的語法是使用DbSet <>而不是IDbBSet <> – Kevin 2012-05-02 23:55:53