构建源于实体更改的错误

时间:2014-01-17 20:56:07

标签: c# entity-framework .net-4.0 entity-framework-6

好的,所以我发现我需要将我的解决方案降级到.NET 4.0。为此,我升级到Entity Framework 6.0(应该是.NET 4.0兼容)并将我的所有项目转换为目标4.0框架。在尝试构建我的数据项目时,EDMX有几个错误。我无法正常打开它,但我可以修改XML数据。这是错误:

The type or namespace name "TABLENAME" could not be found.

我在SQL数据库中的几个(但不是全部)表中得到了很多这些。通常情况下,我会进行数据库更新,但由于无法正常打开文件,因此无法在此处进行更新。此外,在edmx中定义的枚举类型会抛出此错误:

The element 'Schema' in namespace 'http://schemas.microsoft.com/ado/2008/09/edm' has invalid child element 'EnumType' in namespace 'http://schemas.microsoft.com/ado/2008/09/edm'.  List of possible elements expected: 'Using, Association, CopmlexType, EntityType, Function, EntityContainer' in namespace 'http://schemas.microsoft.com/ado/2008/09/edm' as well as any element in namespace '##other'.

生成此问题的XML:

<EnumType Name="CustomEnum" />
    <Member Name="Enum1">
    <Member Name="Enum2" />
    ...
    <Member Name="Enum10" />
</EnumType>

我不是这个EDMX文件的创建者,但这些枚举对项目至关重要。

1 个答案:

答案 0 :(得分:0)

Entity Framework 4.0与之前和EF 4.1之间的区别很大。系统从'objectcontext'移动到'dbcontext'。如果您只是想让解决方案运行而不是升级到最新版本,我建议删除所有.tt文件,重新启动edmx的生成并使用基本EF 4.0。

如果您想迁移到新的6.0 dbcontext范例,那么您可能需要重新设计几个类以及它们如何与EF交互。