我也经历了这本书(Pro Asp.Net MVC 3 Framework)并发现了相同的错误/问题。
似乎作者改用了 ObjectContext 到'DbContext'(或其他方式)并没有清理他的例子。前者是来自EntityFramework 4.0的旧API,后者是来自4.1的API。 DbContext 也只是一个包装 ObjectContext 所以他们做同样的事情。
ObjectContext
DbContext
如果查看第10章的代码示例,您可以看到他使用实体数据模型(.edmx)来建立数据库和模型之间的连接,而在整本书中他使用了“代码优先”方法同 DbContext 。
事实上,第9章中的这一部分是他唯一提到的部分 Concrete/ORM 文件夹和这个.edmx模型进一步证明了这是本书前一次迭代中遗留下来的想法。
Concrete/ORM
总结一下:您不需要这个.edmx模型文件,您不需要更新概念模型。框架应该能够连接你的部分 Product 将代码模型化为数据库中的Product表。
Product
这是一个可能提供一些见解的相关问题: 在EF 4.1中使用DbContext和Database First