原创 OData WebAPI實踐-兼容OData集合響應

本文屬於 OData 系列文章 引言 OData 是一個開放標準,已經在 oasis 組織標準化,因此我們可以在標準的官網查詢到 OData 的標準請求與返回形式:OData JSON Format Version 4.01 (oasis-

原创 OData WebAPI實踐-Non-EDM模式

本文屬於OData系列文章 前文說到了 EDM 與 OData 之間的關係,具有 EDM 的 OData 提供了強大的查詢能力,但是 OData 並不必須要配置 EDM,我們也可以使用 Non-EDM 方案。 Non-EDM 所謂 Non

原创 OData WebAPI實踐-OData與EDM

本文屬於 OData 系列 引言 在 OData 中,EDM(Entity Data Model) 代表“實體數據模型”,它是一種用於表示 Web API 中的結構化數據的格式。EDM 定義了可以由 OData 服務公開的數據類型、實體和關

原创 XUnit數據共享與並行測試

引言 在單元或者集成測試的過程中,需要測試的用例非常多,如果測試是一條一條過,那麼需要花費不少的時間。從 V2 開始,默認情況下 XUnit 自動配置並行(參考資料),大大提升了測試速度。本文將對 ASP.NET CORE WEBAPI 程

原创 武裝你的WEBAPI-OData使用Endpoint

本文屬於 OData 系列文章 Introduction 更新: 由於新版的 OData 已經默認使用了 endpoint 模式(Microsoft.AspNetCore.OData 8.0.0),不再需要額外配置,本文已經過時(asp.n

原创 武裝你的WEBAPI-OData與DTO

本文屬於OData系列文章 Intro 前面寫了很多有關OData使用的文章,很多讀者會有疑問,直接將實體對象暴露給最終用戶會不會有風險?$expand在默認配置的情況下,數據會不會有泄露風險? 答案是肯定的,由於OData的特性,提供給我

原创 武裝你的WEBAPI-OData Versioning

本文屬於OData系列 目錄 武裝你的WEBAPI-OData入門 武裝你的WEBAPI-OData便捷查詢 武裝你的WEBAPI-OData分頁查詢 武裝你的WEBAPI-OData資源更新Delta 武裝你的WEBAPI-OData

原创 外鍵拆分手記

我習慣性使用OData,它的$expand與層級查詢非常好用,這個功能非常依賴於數據庫的導航屬性,也就是外鍵結構。最近想着把一個單體的系統拆分爲多個小系統,首先需要處理外鍵依賴的問題。 多個服務各自有各自的數據庫,數據庫層面並不互通,也就

原创 批量更新Postgresql的序列

序列(sequence)是 PostgreSQL 中的一種對象,用於生成自動遞增的唯一標識符。通常,序列會與表的自增主鍵一起使用,以確保每個新插入的行都有一個唯一的標識符。在某些情況下,可能需要更新序列的值: 從另一個數據庫中導入數據,自增

原创 體驗.NET與文件存儲服務MinIO

對象文件存儲服務(OSS)主要用於存儲零散的文件,和直接存儲到本地文件系統中相比,有以下的幾個優勢: 跨服務器可用 兼容Amazon S3 API 橫向擴容 高可用 支持加密 MinIO就是一個高性能的文件服務,我們使用.NET來操作一

原创 EF Core從TPH遷移到TPT

Intro EF Core支持多種方式處理具有繼承關係的表,現在支持TPH、TPC(EF Core 7)、TPT,具體的實現方式可以參考官方文檔和這篇文章。 大致總結一下不同的方式的區別: TPH:所有的類型都放在一張表中,使用discri

原创 ChatGPT與碼農的機會

之前一篇博客已經寫了有關AI在博客編寫方面的優勢與對未來博客的編寫方面的思考。這篇文檔我繼續分享一個我在開發中的一個案例和相關的感想。 事件還原 我發現ChatGPT也可以幫助我編寫OData,於是我也利用GPT幫助我編程。 OData如

原创 武裝你的WEBAPI-OData聚合查詢

本文屬於OData系列 目錄 武裝你的WEBAPI-OData入門 武裝你的WEBAPI-OData便捷查詢 武裝你的WEBAPI-OData分頁查詢 武裝你的WEBAPI-OData資源更新Delta 武裝你的WEBAPI-OData

原创 博客與AI

最近AI自動生成技術文章和答案在圈子裏面引起了很大轟動,Stack Overflow暫時拒絕接收GPT生成的結果。我也經常性地瀏覽或者編寫博客,但是最近我使用new bing或者ChatGPT的過程中,我不需要再從博客中去一篇篇搜索相關的信

原创 Rapid SCADA v6安裝常見問題

用了很多年的Rapid SCADA v5,現在官網已經推出了v6,就簡單寫一下有關v6的安裝指南吧。 本指南面向Windows用戶,不適用於linux用戶 步驟 從官網下載Rapid SCADA最新的RC版本的v6,然後運行壓縮包內的S