微软发布OData .NET(ODL)9.0.0预览版3:安全性、现代化API及规范遵从性

小编007 正二品 (尚书) 2026-02-12 22:34 1 0
小编007 正二品 (尚书) 楼主
2026-02-12 22:34
第1楼

摘要:Core)当前的稳定版本仍然是NuGet上的8.4.x系列版本",其中,8.4.AspNetCore.OData 9.4.x"这样的稳定版本),这表明服务端和客户端OData技术栈的相关工作正在并行推进。nbsp;有兴趣提供反馈或跟踪稳定化计划的开发者,可以关注OData/odata.net GitHub存储库"和OData官方博客",获取预览公告、迁移指南和9.0最终稳定版的路线图动态。


微软发布"了OData .NET(ODL)9.0.0预览版3(这是OData .NET客户端和核心库的最新预览版本),延续了该库的现代化进程。这个预览版聚焦于更安全的默认行为、运行时API清理以及OData规范遵从性提升。OData .NET团队正朝着9.x的稳定版本努力推进。

 

OData .NET核心库(如Microsoft.OData.Core)当前的稳定版本仍然是NuGet上的8.4.x系列版本",其中,8.4.3是该系列的最新稳定版本。该稳定分支支持OData v4/v4.01,并且广泛应用于生产环境,而9.x版本仍在预览当中"。

 

预览版3延续了9.x早期预览版的约定,但根据开发者的反馈以及OData规范进行了以下几个方面的增强:

 

动作查询执行现在使用SingleOrDefault()语义处理可空引用,在保留对非空值的严格检查的同时,减少了由常见的空响应所引发的意料之外的异常。移除了与ISerializable相关的旧序列化构造函数,消除了现代SDK上的构建警告。放弃了旧的CsdlTarget概念,并弃用了过时的返回类型访问器,转而支持更新的EDM接口。与IEdmOperation接口返回类型属性(ReturnType)相关的过时API也已被新的IEdmOperationReturn抽象完全替换。

 

这些变化反映了这样一种发展方向:与.NET 8/9/10运行时保持兼容、内存占用更低的分配模式(如添加ReadOnlySpan查找重载)以及对平台内置API的依赖。

 

预览版3的一个关键行为变化是强制对非类型化值进行结构化类型反序列化(不再有ReadUntypedAsString切换),使运行时行为更接近官方的OData JSON格式"。此外,未指定类型的数值现在默认推断为特定的CLR数值类型,并提供兼容性标志以支持旧版结果(即解析为decimal的数值)。

 

从稳定的8.x系列版本升级到9.x预览版的NuGet包应被视为破坏性变更:开发者需要检查可空返回值处理、预期的非类型化JSON shapes以及对已移除的旧API的依赖。由于9.x版本仍处于预览阶段,不建议在没有仔细测试的情况下用于生产环境。

 

OData生态系统继续向前发展。举例来说,ASP.NET Core OData包独自进入了自己的9.x+系列(包括像Microsoft.AspNetCore.OData 9.4.x"这样的稳定版本),这表明服务端和客户端OData技术栈的相关工作正在并行推进。

 

有兴趣提供反馈或跟踪稳定化计划的开发者,可以关注OData/odata.net GitHub存储库"和OData官方博客",获取预览公告、迁移指南和9.0最终稳定版的路线图动态。

原文链接:

https://www.infoq.com/news/2026/01/odata-net-preview-9/"

  • 1 / 1 页
敬请注意:文中内容观点和各种评论不代表本网立场!若有违规侵权,请联系我们.
{# #]