将Breeze从1.4.11升级到1.4.16后获取元数据时出错

时间:2014-08-13 19:59:38

标签: c# breeze entity-framework-6 single-page-application hottowel

我使用Nuget将Breeze从1.4.11升级到1.4.16,现在使用manager.fetchMetadata()获取元数据时出现此错误:

Metadata query failed for: http://localhost:50015/breeze/Application/Metadata. Unable to either parse or import metadata: NamingConvention for this client property name does not roundtrip properly:DefaultIngredientCode-->defaultIngredientCode; [object Object]

DefaultIngredientCode属性在Entity Framework表的partial类中声明。它不是表格中的一列。它的声明如下:

public string DefaultIngredientCode { get; set; }

一切正常,直到我将Breeze Client和Server升级到版本1.4.16。

升级后我是否需要进行更改?

我正在使用Hot Towel和Entity Framework 6.0.0。

1 个答案:

答案 0 :(得分:1)

Breeze 1.4.14中引入了一个错误修复程序(下面的这个片段来自发行说明)。

  • D2610 - 正确处理未映射属性的外壳。以前未映射的属性在注册较晚时不会通过注册的namingConvention。 注意:如果您指望之前的“错误”,这可能是一次重大改变。行为

我的猜测是你有一个' DefaultIngredientCode'在您的实体类的 javascript 构造函数中声明的属性。由于这个名字不是camelCased,它没有正确往返。如果您将此属性更改为' defaultIngredientCode'你的代码应该正常工作。注意:这是客户端更改而非服务器端更改。