我正在使用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了很多但找不到任何提示。
答案 0 :(得分:0)
我认为您在数据库初始化和连接字符串方面存在一些问题。
您需要在项目的起始点定义数据库初始化策略,例如:
Database.SetInitializer(
new DropCreateDatabaseIfModelChanges<YourContext>());
我建议尝试一些Julie Lerman's Source code example,我保证你100%使用sql server 2008 express和visual studio 2008而不需要触及一行代码,只需点击F5即可。
答案 1 :(得分:0)
您必须将Blog和Post类从Main类中删除。