【问题标题】:Breeze JS: Error on manager.fetchMetadata() after upgrading from 1.4.4 to 1.4.5 to support Entity Framework 6 modelBreeze JS:从 1.4.4 升级到 1.4.5 以支持 Entity Framework 6 模型后 manager.fetchMetadata() 出错
【发布时间】:2013-11-12 21:09:29
【问题描述】:

我刚刚将 Breeze(客户端和服务器)从 1.4.4 升级到 1.4.5。 当我切换到指向升级 Breeze 的服务器时(使用 Breeze 1.4.5、Entity Framework 6、Web Api 2、MVC 5),在获取元数据(manager.fetchMetadata())时出现以下错误。这是我收到的错误消息:

元数据查询失败: http://localhost:50015/breeze/Application/Metadata。既不能 解析或导入元数据:错误的导航属性; [对象对象]

如果我指向基于 Breeze 1.4.4、Entity Framework 5、Web Api 1、MVC 4 的服务器,我的 SPA 不会在 manager.fetchMetadata() 上中断。它不符合 .fail 的承诺。

两个实体框架模型都指向同一个数据库,它们具有相同的实体和相同的数据。

Breeze 1.4.5 中是否引入了此错误?还是我在升级过程中错过了一个步骤??基本上我在我的微风控制器中使用从 1.4.4 到 1.4.5 的完全相同的代码。 Breeze 客户端也升级到 1.4.5。 如果您需要元数据,请告诉我,我可以提供。

【问题讨论】:

    标签: entity-framework breeze entity-framework-6 hottowel


    【解决方案1】:

    我发现了问题,我调试了获取元数据的函数,并且发现了一些客户端实体,这些实体是通过指向旧 Entity Framework 5 命名空间的关联定义的。它在 Breeze 中的 CsdlMetadataParser.parse 中引发异常。我更正了命名空间,问题得到解决。

    【讨论】:

    • 什么样的关联?我收到了这个错误,它甚至没有到达 CsdlMetadataparser.parse
    【解决方案2】:

    对不起,我不知道你遇到了什么。我们将大部分微风示例转换为使用 Breeze 1.4.5 和 WebApi 2/Entity Framework 6,因此您可能想看看它们。这包括 DocCode 和 ToDo/Angular 示例(等等)。我的猜测是升级过程中遗漏了一些东西。

    我发现首先删除所有相关的 nuget 包然后重新安装通常可以解决这些问题。

    当你弄明白后请回帖,以便我们让其他人知道。

    【讨论】:

    • 我发现了问题,我调试了获取元数据的函数,并且发现了一些客户端实体,这些实体定义为关联指向旧的 Entity Framework 5 命名空间。它在 Breeze 中的 CsdlMetadataParser.parse 中引发异常。我更正了命名空间,问题得到解决。
    猜你喜欢
    • 2014-03-20
    • 2017-10-08
    • 2014-10-04
    • 2019-09-02
    • 2011-07-07
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多