0

我刚刚将 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。如果您需要元数据,请告诉我,我可以提供。

4

2 回答 2

1

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

于 2013-11-14T16:18:17.337 回答
0

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

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

请在您弄清楚这一点后回帖,以便我们让其他人知道。

于 2013-11-13T18:15:04.167 回答