3

我正在尝试 MVC4 Beta 上的东西。项目在 VS11,EF 5.0-Beta 中,使用 Code First 方法。为模型类创建了具有单个 IDbSet<> 属性的简单模型 poco 和 DbContext 派生类。与 LocalDb 的连接字符串。

我注意到当上下文的实体集属性是 IDbSet<> 类型时,当我尝试使用“具有读/写操作和视图的控制器,使用实体框架”脚手架模板创建新控制器时,我从 VS 收到消息:“生成错误'MyProject.MyNamespace.MyContext'。尝试重建您的项目。” 即使是清洁解决方案并再次构建也无济于事。

如果我将 Entity Set 属性更改为类型 DbSet<> ,则控制器脚手架成功。这是一个错误还是可以预期的?

兄弟,劳里

4

1 回答 1

-1

您不能实例化接口的实例并不是一个错误。IDbSet 前面的 I 表示类型为接口(按约定)。因此,您试图创建该接口的实例。相反,您需要使用 DBSet<> 来处理它,它是 IDBSet<> 接口的实现。我希望这能澄清你的问题。

于 2012-03-20T18:19:15.283 回答