无法使CodeFirst工作(EF 4.3)(使用EF 4.2 Code First Walkthrough):InvalidOperationException:实体未映射

时间:2012-08-04 09:13:57

标签: entity-framework ef-code-first mapping invalidoperationexception walkthrough

我正在使用CodeFirst试验EntityFramework 4.3。我已经使用EF 4.0 ModelFirst和DatabaseFirst大约两年了,并希望将CodeFirst集成到现有的CRM数据库项目中。 (...但是在没有现有数据库的情况下尝试了它!)

我正在使用VS 2010,VB.Net和SQLEXPRESS Server 2008进行开发。

所以我开始使用msdn-examples的新项目:“EF 4.2 Code First Walkthrough” (http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx

和“实体框架的生产力改进”中的VB.NET改编 (http://blogs.msdn.com/b/vbteam/archive/2010/06/21/productivity-improvements-for-the-entity-framework.aspx

我引用:“这是您为编写此程序而编写的代码的100%。不需要单独的模型定义,XML元数据,配置文件或其他任何内容。”

嗯,对我的系统来说似乎并非如此。 我使用NuGet数据包管理器安装了EntityFramework 4.3,并且Reference正确地存在。

我首先尝试没有App.Config - 自适应。我得到InvalidOperationException ...未映射:

  

“类型'CodeFirstSample.MyDataAccessDemo.Program + Product'不是   映射“。

我为我的SQL Server连接的app.config添加了一个数据库connectionString,创建了一个数据库“Products”并再次尝试。 同样的错误...

我做错了什么?

我google了很多但找不到任何提示。

2 个答案:

答案 0 :(得分:0)

我认为您在数据库初始化和连接字符串方面存在一些问题。

您需要在项目的起始点定义数据库初始化策略,例如:

  Database.SetInitializer(
    new DropCreateDatabaseIfModelChanges<YourContext>());

我建议尝试一些Julie Lerman's Source code example,我保证你100%使用sql server 2008 express和visual studio 2008而不需要触及一行代码,只需点击F5即可。

答案 1 :(得分:0)