gpt4 book ai didi

javascript - 从 Breeze 的 EF 上下文中省略元数据

转载 作者:行者123 更新时间:2023-11-28 02:27:10 25 4
gpt4 key购买 nike

我正在使用 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

Breeze js错误:

Unable to recognize DataType for: Edm.Geography 

最佳答案

好的,从 Breeze v 1.1.1 开始,Breeze 在遇到“未知”数据类型时将不再抛出此异常。

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

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

目前包括 DbGeometry 和 DbGeography 类。

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

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

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

希望这有帮助。

关于javascript - 从 Breeze 的 EF 上下文中省略元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14756562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com