新手到实体框架。使用VS 2010和SQL Server 2008 express数据库。如何在此处正确删除并重新添加实体数据模型
我在添加新表后刷新实体数据模型时遇到问题。所以,我遵循了我在这里发现的建议,只是删除并重新生成模型。
我得到实体数据模型向导的“选择您的数据连接”部分,并选中“在Web.config中保存实体连接设置为:”。但是,我现有的名称附有1。例如MyDatabaseEntities现在是MyDatabaseEntities1。当然,我不希望附加“1”。我杀死了Web.config中的现有连接字符串,并在我的解决方案中删除了对该名称的所有引用。然而,当我试图继续我出现以下错误:
“‘MyDatabaseEntites’在应用程序设置现有的属性名称冲突,请选择一个不同的名字”
我找不到在解决方案的任何地方引用该名称。我可以取消选中该选项并继续,但它仍然不会在数据库中添加两个表。接下来,我完全关闭所有东西,重新启动并重新尝试。这一次我没有得到上面的错误,但我的三个新表中的两个仍然没有被添加到edmx模型中。
任何想法表示赞赏。此外,这似乎仍然是VS2010/.NET中的很多bug。帮助恢复我的信仰......我觉得现在放弃实体框架。根据我迄今为止的经验和其他一些发布在这里的问题,我觉得我将花更多的时间来追逐Entity Framework的陌生感,而不是编写有用的代码。
更新:我找到了一个解决方案。设计师不会显示错误。您必须查看本机XML(edmx文件)以查看错误。看到这里:ADO.NET Entity Framework: Update Wizard will not add tables
只是对“‘MyDatabaseEntites’与现有的属性名称在应用程序设置,请选择一个不同的名称冲突。”评论:看来,VS看起来名称后面的整个解决方案的所有.config文件,而不仅仅是属于要添加数据模型的项目的文件。因此,您必须从解决方案中的所有.config文件中删除该设置。的 – 2012-09-21 07:35:14
可能重复[ADO.NET实体框架:更新向导将不会增加表(http://stackoverflow.com/questions/543971/ado-net-entity-framework-update-wizard-will-not-add-tables ) – rcdmk 2013-03-11 20:40:54
从Web配置文件中删除所有现有连接字符串并构建应用程序。现在您可以使用现有的属性名称。 – 2017-02-10 14:50:40