生成 <DbContext> 时出错
Posted
技术标签:
【中文标题】生成 <DbContext> 时出错【英文标题】:Error generating <DbContext> 【发布时间】:2012-04-04 08:16:54 【问题描述】:我正在 MVC4 Beta 上尝试一些东西。项目在 VS11,EF 5.0-Beta 中,使用 Code First 方法。 为模型类创建了具有单个 IDbSet 属性的简单模型 poco 和 DbContext 派生类。与 LocalDb 的连接字符串。
我注意到,当上下文的实体集属性是 IDbSet 类型时,当我尝试使用“具有读/写操作和视图的控制器,使用实体框架”脚手架模板创建新控制器时,我会从 VS 收到消息: “生成 'MyProject.MyNamespace.MyContext' 时出错。请尝试重建您的项目。” 即使是清洁解决方案并重新构建也无济于事。
如果我将实体集属性更改为类型 DbSet,则控制器脚手架成功。 这是一个错误还是可以预料的?
兄弟, 劳里
【问题讨论】:
【参考方案1】:这不是你不能实例化接口实例的错误。 IDbSet 前面的 I 表示类型为接口(按约定)。因此,您试图创建该接口的实例。相反,您需要使用 DBSet 来处理它,它是 IDBSet 接口的实现。我希望这可以澄清您的问题。
【讨论】:
好的,但是在使用 DbSet 属性搭建脚手架之后,我可以将它们更改为 IDbSet 并且应用程序构建和工作。它是 .Net 类型解析的结果还是这种性质的结果? 据我所知,正确的语法是使用 DbSet 而不是 IDbBSet以上是关于生成 <DbContext> 时出错的主要内容,如果未能解决你的问题,请参考以下文章