我正在尝试创建一个' ODataQueryContext'这需要一个EdmModel'参考。我试图从ODataProperties()获取模型,这是一个HttpRequestMessage对象的方法调用。
var orderBy = new OrderByQueryOption(" ColumnName desc",new ODataQueryContext(Request.ODataProperties()。Model,typeof(MyType)));
似乎我使用命名空间"使用System.Web.Http.OData.Extensions;"而不是"使用System.Web.OData.Extensions;" Model属性可从ODataProperties()获得。但是,我正在使用较新版本(OData v4)命名空间,用于我的程序中的其他引用。
在做了一些研究之后,我确定使用OData v4,他们从' ... Web.Http.OData ...'名称空间,以及......#Web.OData ...'命名空间。我假设我需要在使用新的或旧的命名空间时保持一致,并且我没有成功尝试混合它们。
有没有人知道如何从ODataProperties()获取Model属性而不使用旧的' Web.Http.OData'命名空间?
答案 0 :(得分:0)
ODataProperties()。来自github上的OData的模型
答案 1 :(得分:0)
对于仍然对此有问题的人(我从MS OData教程到这里结束)Sub BoucleCheckBoxes_Formulaire()
Dim Cb As CheckBox
'Boucle sur les checkboxes formulaires de la Feuil1
For Each Cb In ActiveSheet.CheckBoxes
'si la case est cochée
'(utilisez xlOff pour vérifier le statut "décoché")
If Cb.Value = xlOn Then
Cb.Value = xlOff
Else
If Cb.Value = xlOff Then
Cb.Value = xlOn
End If
End If
Next Cb
已更改为Sub Case_1_Cliquer()
c1 = ActiveSheet.CheckBoxes("Case 1").Value
If c1 = xlOff Then
ActiveSheet.CheckBoxes("Case 2").Value = xlOff
ActiveSheet.CheckBoxes("Case 3").Value = xlOff
ActiveSheet.CheckBoxes("Case 4").Value = xlOff
ElseIf c1 = xlOn Then
ActiveSheet.CheckBoxes("Case 2").Value = xlOn
ActiveSheet.CheckBoxes("Case 3").Value = xlOn
ActiveSheet.CheckBoxes("Case 4").Value = xlOn
End If
End Sub
Sub Case2_Cliquer()
c2 = ActiveSheet.CheckBoxes("Case 2").Value
c3 = ActiveSheet.CheckBoxes("Case 3").Value
c4 = ActiveSheet.CheckBoxes("Case 4").Value
If c2 = xlOff Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOff
End If
If c2 = xlOn Then
If ((c3 = xlOn) And (c4 = xlOn)) Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOn
End If
End If
End Sub
Sub Case3_Cliquer()
c2 = ActiveSheet.CheckBoxes("Case 2").Value
c3 = ActiveSheet.CheckBoxes("Case 3").Value
c4 = ActiveSheet.CheckBoxes("Case 4").Value
If c3 = xlOff Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOff
End If
If c3 = xlOn Then
If ((c2 = xlOn) And (c4 = xlOn)) Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOn
End If
End If
End Sub
Sub Case4_Cliquer()
c2 = ActiveSheet.CheckBoxes("Case 2").Value
c3 = ActiveSheet.CheckBoxes("Case 3").Value
c4 = ActiveSheet.CheckBoxes("Case 4").Value
If c4 = xlOff Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOff
End If
If c4 = xlOn Then
If ((c3 = xlOn) And (c2 = xlOn)) Then
ActiveSheet.CheckBoxes("Case 1").Value = xlOn
End If
End If
End Sub
(程序集Microsoft中命名空间Microsoft.AspNet.OData.Extensions中的HttpRequestMessageExtensions。 AspNet.OData)。此外,request.ODataProperties().Model
已更改为request.GetModel()
。
答案 2 :(得分:0)
在ASP.NET Core 3.1的Microsoft.AspNetCore.OData程序包中,Request.ODataProperties()
下的大多数值现在位于Request.ODataFeature()
下。