【问题标题】:Entity Framework exception after migrating WPF application to .net Framework 4.5.1将 WPF 应用程序迁移到 .net Framework 4.5.1 后的实体框架异常
【发布时间】:2015-08-27 15:40:17
【问题描述】:

我已将一个 WPF 复杂应用程序的 .Net 框架从 3.5 更新到 4.5.1。 我已将所有项目的目标框架更改为 4.5.1。

更改 .net 框架后,我遇到了以下错误。

System.Data.Entity.dll 中出现“System.Data.EntityCommandCompilationException”类型的未处理异常

内部异常消息:-“EntityContainer 'ApplicationNameDataContext' 的映射和元数​​据信息不再与用于创建预生成视图的信息匹配。”

任何想法为什么会发生这种情况?

应用程序在 VS2010 和 .Net frmwrk 3.5 上运行良好。 项目有 4.0.0.0 版本的 System.Data.Entity Dll。

【问题讨论】:

  • 您是否同时将Entiry Framework 4/5 更新到版本6?如果是这样,我认为您将需要重新生成实体模型。 Microsoft 在 MSDN 上发布了迁移信息。
  • System.Xaml 添加到引用中。
  • 同时检查WindowsBasePresentationFrameworkPresentationCoreSystem.Data.DataSetExtensions

标签: c# .net wpf entity-framework .net-framework-version


【解决方案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.

我不确定这是否正确,但它为我解决了问题。

【讨论】:

    猜你喜欢
    • 2020-04-13
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多