ODataProperties(System.Web.OData.Extensions - OData v4)缺少''模型'属性

时间:2017-04-06 13:41:04

标签: c# asp.net odata

我正在尝试创建一个' 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'命名空间?

3 个答案:

答案 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()下。