第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Fluent API 與 FluentValidation

Fluent API 與 FluentValidation

C#
千萬里不及你 2023-07-09 15:09:44
在模型中,有一個(gè) Fluent API 比數(shù)據(jù)注釋更適合用于驗(yàn)證。然后我們還有 FluentValidation。如果我們有 Fluent API,我們還需要 FluentValidation 嗎?或者 Fluent API 僅適用于模型,而 FluentValidation 適用于其他一切?
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

FluentValidation 是用于驗(yàn)證規(guī)則的框架。雖然簡單的驗(yàn)證規(guī)則可以是例如:文本長度為 100 個(gè)字符或者它是必填字段,但在大多數(shù)業(yè)務(wù)情況下,規(guī)則要復(fù)雜得多,并且可以以易于讀/寫的方式定義它們。

Fluent API 是實(shí)體框架擴(kuò)展,它支持易于讀/寫的實(shí)體框架,用于將數(shù)據(jù)庫等數(shù)據(jù)源映射到 C# 數(shù)據(jù)傳輸對(duì)象類。DTO 中沒有業(yè)務(wù)邏輯,它們被轉(zhuǎn)換為有業(yè)務(wù)邏輯的模型。

部分問題是您將驗(yàn)證放在哪里?假設(shè)您的應(yīng)用程序分為客戶端、服務(wù)器端、微服務(wù)、數(shù)據(jù)庫。應(yīng)該是其中之一、全部還是介于兩者之間,簡短的回答是——是的。

您應(yīng)該有數(shù)據(jù)庫規(guī)則,以防止存儲(chǔ)無效狀態(tài)。同時(shí)數(shù)據(jù)庫調(diào)用成本高昂且耗時(shí)。將所有業(yè)務(wù)規(guī)則添加到數(shù)據(jù)庫及其約束、設(shè)置觸發(fā)器等稱為數(shù)據(jù)庫優(yōu)先架構(gòu)。雖然這是可能的,但通常可以設(shè)置一個(gè) 80-98% 的時(shí)間命中的緩存。客戶端驗(yàn)證的普遍問題是它可以被繞過,以及其他多種原因。

簡而言之 - 每個(gè)驗(yàn)證解決方案或如何抽象應(yīng)用程序都存在限制。開發(fā)人員通常嘗試以最小的努力編寫干凈的代碼,并且通常要求他們添加測(cè)試,并且通常他們不編寫架構(gòu)或數(shù)據(jù)庫集成測(cè)試,因此他們向模型添加業(yè)務(wù)邏輯并為其編寫測(cè)試。

此外,F(xiàn)luent 驗(yàn)證用于模型驗(yàn)證,F(xiàn)luent api 用于數(shù)據(jù)源訪問。


查看完整回答
反對(duì) 回復(fù) 2023-07-09
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)