Dav*_*vid 16 entity-framework datamodel edmx
新手到实体框架这里.使用VS 2010和SQL Server 2008 express DB.
添加新表后,我无法刷新实体数据模型.所以,我按照我在这里找到的建议删除并重新生成模型.
我进入实体数据模型向导的"选择您的数据连接"部分,并选中"将Web.config中的实体连接设置保存为:".但是,我现有的名字附加了1.例如,MyDatabaseEntities现在是MyDatabaseEntities1.当然,我不希望附加"1".我在Web.config中删除了现有的连接字符串,并在我的解决方案中删除了对该名称的所有引用.然而,当我尝试继续时,我遇到以下错误:
"'MyDatabaseEntites'与应用程序设置中的现有属性名称冲突.请选择其他名称"
我无法在解决方案的任何位置找到对该名称的引用.我可以取消选中该选项,它将继续,但它仍然不会在数据库中添加两个表.接下来,我完全关闭所有内容,重新启动,然后再次尝试.这次我没有得到上面的错误,但是我的三个新表中的两个仍然没有被添加到edmx模型中.
任何想法都表示赞赏.此外,即使在VS2010/.NET中,这似乎仍然非常错误.帮助恢复我的信念...我觉得此时放弃实体框架.基于到目前为止我的经验和一些张贴在这里的其他问题,我觉得我会花更多的时间追逐实体框架的陌生感比写有用的代码.
更新:我找到了一个决议.设计师不会显示错误.您必须查看本机XML(edmx文件)才能查看错误.请参见此处: ADO.NET实体框架:更新向导不会添加表
tec*_*ife 20
该错误是由"App.Config"文件(请参阅解决方案资源管理器)中的设置中的剩余连接字符串引起的,并且在本节中:"connectionStrings"(由尖括号括起)
只需从那里删除它.
我不知道你的问题的具体答案,但我想我可以推荐一种方法来解决这个冲突。
我通常将 EF 工作分解到一个单独的库中。如果我正在开发 Cyberdyne.Terminator,我会创建一个名为 Cyberdyne.Terminator.Data 的 EF 类库。这样,如果您想删除模型并重新开始,所有内容都与您的依赖文件分开,特别是您的 web.config。
这些可能都无法修复丢失的表。我见过发生这种情况的一件事是如果我添加一个表,然后删除它。它不会再次出现在“添加表”对话框中(您必须重命名它才能显示)。但我认为这在 EF 4.0 中已得到解决。不知道。如果问题仍然存在,您可以尝试重命名该表,重新添加它,然后在出现该表时将其重命名回来。
EF 确实是一件让人头疼的事情。我唯一能告诉你的是,我通常必须解决这些令人头疼的问题,了解问题,并且永远不会再被它们困扰。如果你不能忍受 EF,你也可以看看 NHibernate——我对此也有很强烈的印象。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           19539 次  |  
        
|   最近记录:  |