Javascript 从breeze的ef上下文中省略metdata

Javascript 从breeze的ef上下文中省略metdata,javascript,vb.net,asp.net-web-api,breeze,Javascript,Vb.net,Asp.net Web Api,Breeze,我正在使用breeze.js webapi公开下面的类。我知道DbGeography类型不受支持,所以我使用JsonIgnore将其从输出中删除,但是如何从元数据中忽略/删除它呢 Public Class Household <Key> Public Property Id As Integer Public Property Postcode As String Public Property Saving As Decimal <JsonIgnore> Public

我正在使用breeze.js webapi公开下面的类。我知道DbGeography类型不受支持,所以我使用JsonIgnore将其从输出中删除,但是如何从元数据中忽略/删除它呢

Public Class Household
<Key>
Public Property Id As Integer
Public Property Postcode As String
Public Property Saving As Decimal
<JsonIgnore>
Public Property Coordinates As DbGeography
Public ReadOnly Property Latitude As Double
    Get
        Return Coordinates.Latitude.Value
    End Get
End Property
Public ReadOnly Property Longitude As Double
    Get
        Return Coordinates.Longitude.Value
    End Get
End Property
End Class

<BreezeController>
Public Class HouseholdsController
Inherits ApiController

Private ReadOnly _contextProviders As EFContextProvider(Of EnergyFriendContext) = New     EFContextProvider(Of EnergyFriendContext)

' ~/api/Households/Metadata 
<HttpGet>
Public Function Metadata() As String
    Return _contextProviders.Metadata()
End Function

' ~/api/Households/Households
' ~/api/Households/Households?$filter=IsArchived eq false&$orderby=CreatedAt
<HttpGet>
Public Function Households() As IQueryable(Of Household)
    Return _contextProviders.Context.Households
End Function

End Class

好的,从Breeze1.1.1开始,当遇到“未知”数据类型时,breeze将不再抛出此异常

数据类型为“未知”的数据属性现在将显示在数据类型为“未定义”的EntityType元数据中

从服务器返回的任何“未定义”数据类型的数据现在都将通过raw传递,这意味着数据将完全是服务器上序列化的数据,无需任何处理

目前包括DbGeometry和DbGeography类

现在可以从EntityType.dataProperties属性返回的数组中删除单个数据属性

删除属性会告诉breeze,当返回到客户机时,该属性不应具体化到该类型的任何实体上。这允许客户端有效地忽略任何服务器端属性的数据

注意:在忽略属性时,可能需要确保它不会首先被服务器序列化。我认为你已经在这样做了


希望这有帮助。

好的,从breeze版本1.1.1开始,当遇到“未知”数据类型时,breeze将不再抛出此异常

数据类型为“未知”的数据属性现在将显示在数据类型为“未定义”的EntityType元数据中

从服务器返回的任何“未定义”数据类型的数据现在都将通过raw传递,这意味着数据将完全是服务器上序列化的数据,无需任何处理

目前包括DbGeometry和DbGeography类

现在可以从EntityType.dataProperties属性返回的数组中删除单个数据属性

删除属性会告诉breeze,当返回到客户机时,该属性不应具体化到该类型的任何实体上。这允许客户端有效地忽略任何服务器端属性的数据

注意:在忽略属性时,可能需要确保它不会首先被服务器序列化。我认为你已经在这样做了

希望这有帮助

Unable to recognize DataType for: Edm.Geography