【问题标题】:Error generating <DbContext>生成 <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,则控制器脚手架成功。 这是一个错误还是可以预料的?

兄弟, 劳里

【问题讨论】:

    标签: asp.net-mvc visual-studio-2012 code-first asp.net-mvc-scaffolding


    【解决方案1】:

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

    【讨论】:

    • 好的,但是在使用 DbSet 属性搭建脚手架之后,我可以将它们更改为 IDbSet 并且应用程序构建和工作。它是 .Net 类型解析的结果还是这种性质的结果?
    • 据我所知,正确的语法是使用 DbSet 而不是 IDbBSet
    猜你喜欢
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2018-03-18
    • 2017-01-12
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多