Итак, я только что узнал, что мне нужно понизить мое решение до .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 файла, но эти перечисления являются существенными к проекту.
Вы использовали VisualStudio 2012 без инструментов EF6, установленных для понижения вашего проекта? Если вы это сделаете, это изменит пространства имен в edmx на v2 и v2 edmx не поддерживает перечисления. Инструментарий EF6 не будет понижать EDMX до версии v2, если проект перенацеливается на .NET Framework 4. Вы можете получить EF6-инструмент отсюда: http: //www.microsoft.com/en-us/download/details.aspx? Id = 40762. Также взгляните на мое сообщение в блоге на инструментах EF6: http://blog.3d-logic.com/2013/11/10/what-changed-in-the-ef-tooling-in-visual-studio-2013- и-visual-studio-2012-out-of-band/ – Pawel