Entity Framework无法生成基于数据库的EDMX模型

3
我已经从Visual Studio 2013中卸载了DevExpress CodeRush,并且遇到了一个问题,我还没有解决。由于CodeRush的卸载,VS崩溃了,我尝试重新安装VS 2013,但是创建.EDMX文件的代码不起作用了。我可以在“从数据库更新模型”中加载表名,但是在选择所需表之后,会出现以下消息:

无法生成模型,因为出现以下异常:'System.TypeLoadException: Could not load type 'System.Data.Entity.Core.Mapping.EntityContainerMapping' from assembly 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at Microsoft.Data.Entity.Design.VersioningFacade.ReverseEngineerDb.DbDatabaseMappingBuilder.Build(SimpleMappingContext mappingContext)
at Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelGenerator.GenerateModel(List1 errors)
at Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelBuilderEngine.GenerateModels(String storeModelNamespace, ModelBuilderSettings settings, List
1 errors)
at Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelBuilderEngine.GenerateModel(ModelBuilderSettings settings, IVsUtils vsUtils, ModelBuilderEngineHostContext hostContext)'.

我尝试了所有EntityFramework can't generate DB first EDMX - null reference, cannot load type的选项,但都没有成功。

我卸载了完整的VS 2013。重新安装并更新到VS 2013.4。Entity Framework 6.1.1由VS更新4安装。问题仍然存在。我尝试安装6.1.3版本,但没有成功。建议安装6.0.2,但我找不到下载链接。

模型编辑器正在工作,我可以手动编辑表格和创建表格。我无法从数据库更新EDMX文件。

我需要在哪里搜索以解决此问题?我不能更新我的数据库结构。实体框架生成器是如何工作的?我需要在machine.conf中更改内容吗?

任何线索都将有所帮助。

谢谢, Marco Castro


尝试删除所有的tt文件(这也会删除生成的cs文件),并在edmx设计器中添加一个新的代码生成项(EF 6.x DbContext生成器)。 - Gert Arnold
没有成功,这个错误消息出现后T4文件被创建了,我删除了T4文件,错误消息出现并且没有T4文件被创建。 - Marco Castro
1个回答

0

这个问题的正确解决方案是先安装Visual Studio 2013第一版中位于packages\EFTools文件夹中的Entity Framework 6.0.2。安装VS更新将会安装一个不起作用的EFTools版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接