Microsoft.OData.Core和Microsoft.Data.OData之间的区别

8

我正在使用启用了OData的Web Api进行开发。我是通过参考以下内容开始工作的(仅提及与问题相关的dll):

Microsoft.AspNet.WebApi.OData
Microsoft.Data.OData
Microsoft.Data.Edm
System.Spatial

但是当我发现 OData默认区分大小写 时,我寻找了一个不区分大小写的解决方案,我看了几篇文章,包括支持OData Uri不区分大小写解析ODataLib 6.7.0发布,最终我找到了能够解决我的问题的nuget包Microsoft.OData.Core 6.9.0。然而,这里我开始感到困惑,因为它有自己的集合相关库在不同的命名空间下

Microsoft.OData.Core-----------VS------Microsoft.Data.OData
Microsoft.OData.Edm------------VS------Microsoft.Data.Edm
Microsoft.Spatial--------------VS------System.Spatial

以上类似库之间的区别是什么,我们应该在哪个上使用另一个?在我遇到的类似情况中,可以使用 Microsoft.OData.Core 替代解决大小写问题的 Microsoft.Data.OData。
1个回答

14

1. 关于命名空间,


Microsoft.Data.OData
Microsoft.Data.Edm
System.Spatial

这些是实现OData Version 3.0规范的内容。Nuget中的软件包名称以OData v1-3结尾。例如:ODataLib for OData v1-3

然而,

Microsoft.OData.Core
Microsoft.OData.Edm
Microsoft.Spatial

这些是实现OData Version 4.0规范的软件包。Nuget上的软件包名称不包含版本号,例如:ODataLib

2. 关于大小写不敏感


Web API OData在5.4版中将支持不区分大小写的未限定函数/操作调用和枚举前缀自由。

这里有一个简单的示例供您参考。

源代码已移至: Github上的WebAPI OData

您可以从每夜构建中获取二进制文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接