今天面試的時候被問到這樣的問題。
假設您想使用 web api 同時更新多個記錄,那么您可以如何做到這一點。
因為它有大約 1000 條記錄需要更新..
所以我現在回復使用異步并等待。
然后他問我是否用戶 1 更新記錄并同時用戶 2 更新記錄,以便采取行動以及如何處理這種情況。
那么對于這種問題,最好的回答應該是什么。
uj5u.com熱心網友回復:
物體框架不是為大量更新而設計的——它是為查詢和事務更新(一次幾條記錄)而設計的。
如果您需要大量更新資料,那么要么撰寫一條 SQL 陳述句來執行所有更新,要么使用 ETL 工具(如 SSIS)。因此,原始 SQL 比物體框架更快。話雖如此,對于不查詢十億行的普通 CRUD,EF 完全沒問題,但在處理大量資料時,用存盤程序替換 EF 呼叫是一個不錯的選擇。
uj5u.com熱心網友回復:
Question: If user 1 update record and same time user 2 update record so which will take action and how this scenario can handle?
它的呼叫
"concurrency",為了處理這種情況,您必須使用locking mechanism處理并發性這樣的場景,(updating same record from different user)以便用戶可以理解其他用戶也在修改它。
Asp.net Entity Framework Aspect:
Inasp.net Entity framework具有
RowVersion屬性,該屬性將在更新時跟蹤特定資料的更新日志。
您可以使用兩種并發機制:
Optimistic ConcurrencyPessimistic concurrency
您可以查看official document
更多詳細資訊。另外這里是實作
Database Aspect:
從資料庫中您也可以處理這種情況。所有資料庫還必須
Locking mechanism由多極用戶同時處理相同的記錄。你可以看看這里
希望它會相應地指導您并彌補您的困惑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/389972.html
標籤:C# 网站 asp.net核心 asp.net-web-api asp.net-web-api2
上一篇:C#方法多載和介面
