随笔分类 - OData
摘要:本文属于 OData 系列文章 ABP 是一个流行的 ASP. NET 开发框架,旧版的的 ABP 已经能够非常好的支持了 OData ,并提供了对应的 OData 包。 ABP vNext 是一个重新设计的,面向微服务的框架,提供了一些非常有用的特性,包括分页查询等但是它并不能原生支持 OData
阅读全文
摘要:本文属于 OData 系列文章 引言 OData 是一个开放标准,已经在 oasis 组织标准化,因此我们可以在标准的官网查询到 OData 的标准请求与返回形式:OData JSON Format Version 4.01 (oasis-open.org) 针对不同的数据类型,输出返回的格式也不尽
阅读全文
摘要:本文属于OData系列文章 前文说到了 EDM 与 OData 之间的关系,具有 EDM 的 OData 提供了强大的查询能力,但是 OData 并不必须要配置 EDM,我们也可以使用 Non-EDM 方案。 Non-EDM 所谓 Non-EDM ,并不是说在 OData 运行时不需要 EDM 配置
阅读全文
摘要:本文属于 OData 系列 引言 在 OData 中,EDM(Entity Data Model) 代表“实体数据模型”,它是一种用于表示 Web API 中的结构化数据的格式。EDM 定义了可以由 OData 服务公开的数据类型、实体和关系。 EDM 也提供了一些规则来描述数据模型中的实体之间的关
阅读全文
摘要:本文属于 OData 系列文章 Introduction 更新: 由于新版的 OData 已经默认使用了 endpoint 模式(Microsoft.AspNetCore.OData 8.0.0),不再需要额外配置,本文已经过时(asp.net core 3.1)。 最近看 OData 的 devb
阅读全文
摘要:本文属于OData系列文章 Intro 前面写了很多有关OData使用的文章,很多读者会有疑问,直接将实体对象暴露给最终用户会不会有风险?$expand在默认配置的情况下,数据会不会有泄露风险? 答案是肯定的,由于OData的特性,提供给我们便捷同时也会带来一些风险。很多地方推荐使用DTO模式来隔离
阅读全文
摘要:本文属于OData系列 Intro 对外提供WEBAPI时,如果遇上了版本升级,那么控制WEBAPI的版本也是非常必要的。OData官方提供了版本控制以及管理的解决方案,我个人是实践体会是不好用,好在社区提供了对应的nuget包,与.NET主版本同步更新。 介绍 ASP.NET API Versio
阅读全文
摘要:本文属于OData系列 Introduction ODATA v4提出了新的聚合查询功能,这对于ODATA的基本查询能力(apply关键字实现的。使用
阅读全文
摘要:本文属于OData系列 Intro 非常喜欢OData,在各种新项目中都使用了这个技术。对于.NET 5.0,OData推出了8.0preview,于是就试用了一下。发现坑还是非常多,如果不是很有必要的话,建议还是先等等。我使用的原因是在.NET 5.0的情况,7.x版本的OData会造成[Auth
阅读全文
摘要:本文属于OData系列 Introduction OData不光提供了数据查询的便捷手段,它也提供了数据更新的方便办法。 传统WebAPI方式 一般用于数据更新的方式,最多的就是PUT和PATCH方法了。关于这两个方法的区别以及介绍,可以翻看我之前写的RESTful设计中的常见疑问。 举例说明: [
阅读全文
摘要:本文属于OData系列 Introduction 分页是数据请求避免不了的问题,数据很多的情况下,通过GET请求一次性返回所有的数据,不光性能底下,而且不好展示。 分页的原理就是客户端请求服务器,服务器返回的数据是有限的数据(限制于pageSize),同时返回一个数据的总量count,方便客户端进行
阅读全文
摘要:本文属于OData系列 Introduction 前文大概介绍了下OData,本文介绍下它强大便捷的查询。(后面的介绍都基于最新的OData V4) 假设现在有这么两个实体类,并按照前文建立了OData配置。 public class DeviceInfo { [Key] [MaxLength(20
阅读全文
摘要:本文属于OData系列 Intro EDM EDEDM EDM EDEDM! 前阵子刷抖音,隔几个就是这个,被洗脑了,本着闲着也是闲着的心态,我决定一探究竟,唱的到底是个啥。 探索 网上找了一下,发现这个:EDM is short for Entity Data Model. 看到这个我就惊了,这不
阅读全文