[英]ASP.NET Core Web API - FirstOrDefault not giving required result in Entity Framework
[英]Avoid entity duplication with Linq in ASP.NET Core Web API
我想知道在 ASP.NET 核心 Web API 項目中避免實體重復的最佳方法。
想象一下,您有一個帶有名稱和制造商的產品,並且您想確保名稱是否重復。 想象一下,一個帶有名稱的新產品來自客戶端(dto),我們需要查看該名稱(實體)是否已經存在於數據庫中(使用 EF)。
您需要為 entity 和 dto 中的名稱修剪名稱( name.trim()
)
您需要刪除之間的所有空格( string.replace(" ", string.empty())
您需要將所有內容更改為小寫( string.lower()
)
最后你需要比較這兩個
有沒有最佳實踐如何在不編寫所有代碼的情況下做到這一點? 我嘗試將string.compare
與ignorecase
和compareoptions
等ignoresymbols
選項以及帶有ignorecase
選項的string.equal()
一起使用,但 EF 給了我一個警報,它無法翻譯代碼。
br
我對你的方法有一個建議。
示例:原始名稱:Amir Masoud Babaei --> 新列值:amirmasoudbabaei
當您插入新記錄時,進行修剪和小寫更改並將其保存到數據庫中。 因為它是一個主鍵,它應該拋出一個錯誤。
因此,使用這種方法,您無需遍歷所有名稱並驗證該名稱是否已存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.