Исключение Entity Framework после переноса приложения WPF на .net Framework 4.5.1

Я обновил .Net framework одного сложного приложения WPF с 3.5 до 4.5.1. Я изменил Target Framework для всех проектов на 4.5.1.

После изменения .net framework я получаю сообщение об ошибке ниже.

Произошло необработанное исключение типа «System.Data.EntityCommandCompilationException» в System.Data.Entity.dll.

Внутреннее сообщение об исключении: - Информация о сопоставлении и метаданных для EntityContainer «ApplicationNameDataContext» больше не соответствует информации, используемой для создания предварительно созданных представлений.

Есть мысли, почему это происходит?

Приложение отлично работает с VS2010 и .Net frmwrk 3.5. Проект имеет версию 4.0.0.0 System.Data.Entity Dll.


person Rohit    schedule 27.08.2015    source источник
comment
Вы одновременно обновляли Entiry Framework 4/5 до версии 6? Если это так, я думаю, вам нужно будет регенерировать модель объекта. Microsoft разместила информацию о миграции в MSDN.   -  person Jeff Prince    schedule 27.08.2015
comment
Добавьте System.Xaml к ссылкам.   -  person Mehmed    schedule 27.08.2015
comment
Также проверьте WindowsBase и PresentationFramework и PresentationCore и System.Data.DataSetExtensions   -  person Mehmed    schedule 27.08.2015


Ответы (1)


После долгих поисков я обнаружил, что если я изменю всю схему edmx на старую, она начнет работать.

Щелкните правой кнопкой мыши на edmx, откройте его в текстовом редакторе и измените строки ниже.

1.    
    <edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">  
  to  <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">

2.    
    <Schema Namespace="Application.Model.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">  
 to 
     <Schema Namespace="Application.Model.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl">

3    
    <edmx:ConceptualModels> <Schema Namespace="Application.Model" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2009/11/edm" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation"> 
  to
    <edmx:ConceptualModels> <Schema Namespace="Application.Model" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation">

4    
    <edmx:Mappings>
          <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
     to
    <edmx:Mappings>
    <Mapping Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">

5  And in   <edmx:Designer>  change 

    xmlns="http://schemas.microsoft.com/ado/2009/11/edmx  to 
    xmlns="http://schemas.microsoft.com/ado/2007/06/edmx.

Я не уверен, что это правильный путь или нет, но он решает проблемы для меня.

person Rohit    schedule 01.09.2015