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

Pre*_*ngh 7 rest spatial odata asp.net-web-api

我正在使用启用OD​​ata的Web Api.我开始工作时提到(只提到问题的相关dll)

Microsoft.AspNet.WebApi.OData
Microsoft.Data.OData
Microsoft.Data.Edm
System.Spatial
Run Code Online (Sandbox Code Playgroud)

但是当我发现OData默认区分大小写时,我寻找一个不区分大小写解决方案,我已经通过几个帖子支持OData Uri不区分大小写的解析ODataLib 6.7.0发布然后最终登陆到nuget包Microsoft.OData.核心6.9.0似乎解决了我的问题.在这里我的困惑开始了,它在不同的命名空间下有自己的集合相关库

Microsoft.OData.Core-----------VS------Microsoft.Data.OData
Microsoft.OData.Edm------------VS------Microsoft.Data.Edm
Microsoft.Spatial--------------VS------System.Spatial
Run Code Online (Sandbox Code Playgroud)

上面类似的库之间有什么区别,我们应该相互使用?在矿山的类似案件,Microsoft.OData.Core可以使用的,而不是Microsoft.Data.OData这是解决区分大小写的问题?

Sam*_* Xu 12

1.关于命名空间,


Microsoft.Data.OData
Microsoft.Data.Edm
System.Spatial
Run Code Online (Sandbox Code Playgroud)

OData版本3.0规范的实现.Nuget上的软件包名称以OData v1-3结尾.例如: OData v1-3的ODataLib

而,

Microsoft.OData.Core
Microsoft.OData.Edm
Microsoft.Spatial
Run Code Online (Sandbox Code Playgroud)

OData版本4.0规范的实现.Nuget上的软件包名称不包含版本.例如: ODataLib

2.关于不区分大小写


Web API OData将在5.4版本中支持不区分大小写,不合格的函数/动作调用和免费的Enum前缀.

这是一个你可以参考的简单例子.

源代码移动到: Github上的WebAPI OData

你可以从夜间构建中获取二进制文件.