1

尝试使用breathjs时出现错误,该类型是实体框架中的复杂类型(代码优先)。

未捕获的错误:无法识别以下数据类型:Edm.Self.Address

是否有任何解决方法可以将复杂类型与breathjs一起使用?从我的实体框架模型:

public class Address
{
    public string Id { get; set; }
    public string Street { get; set; }
    public string City { get; set; }
    public string ZipCode { get; set; }
    public string Contry { get; set; }
}
4

3 回答 3

1

Breeze 尚不支持实体框架复杂类型。它在我们的路线图上,但我们还没有。请在 Breeze 网站 (www.breezejs.com) 上投票支持此功能。

于 2012-10-29T20:57:43.763 回答
1

试试JayData,它支持查询或 crud 的复杂类型。一旦您在地址 http://{yourdomain}/{yourapi} 有一个有效的 OData 端点,您就可以直接使用它了:

<script src="http://include.jaydata.org/datajs-1.0.3.js"></script>
<script src="http://include.jaydata.org/jaydata.js"></script>
<script src="http://include.jaydata.org/jaydataproviders/oDataProvider.js"></script>
<script>
  $data.service("http://{yourdomain}/{yourapi}", function(contextFactory) {
  var context = contextFactory();
  context
   .myEntitySet
   .filter(function(item) { return item.ComplexProp.Field == 42 || item.Title =="Tea"})
   .forEach(function(item) { 
       console.log(item.Title);
    });
  });
</script>

请注意,使用 JayData,您可以将 TypeScript 用于任何 OData 端点。使用 TypeScript 为您提供

  • 强类型客户体验

  • 关于功能的奇妙提示

  • lambda 谓词:filter(item => item.ComplexType.Field == 42)

在这里阅读更多

于 2012-10-30T12:25:18.370 回答
1

从 v 0.80.1 开始,Breeze 现在支持复杂类型。希望这可以帮助。

于 2012-12-23T07:06:35.813 回答