未捕获错误:无法识别DataType:Edm.Self.Address with breezejs

时间:2012-10-26 17:17:46

标签: javascript entity-framework breeze

我在尝试使用breezejs时遇到错误,类型是实体框架中的复杂类型(代码优先)。

未捕获错误:无法识别:Edm.Self.Address

的DataType

使用breezejs的复杂类型是否有任何变通方法? 来自我的实体框架模型:

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; }
}

3 个答案:

答案 0 :(得分:1)

Breeze尚不支持Entity Framework Complex类型。这是我们的路线图,但我们还没有。请在Breeze网站(www.breezejs.com)上投票赞成此功能。

答案 1 :(得分: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 =&gt; item.ComplexType.Field == 42)

阅读more here

答案 2 :(得分:1)

从v 0.80.1开始,breeze现在支持复杂类型。希望这会有所帮助。