不需要將資料查詢回來, 就可以透過 Entry 更新完整或部份資料
2023-01-16
標籤雲
- .NetCore
- .NetCore 3.X
- ApiVersion
- Asp.Net
- Azure
- CI/CD
- CodeStyle
- Config
- CQRS
- ElasticSearch
- EntityFramework
- EntityFrameworkCore
- Filter
- Flurl
- GitLab
- Heroku
- IdentityServer
- IdentityServer4
- IIS
- Keycloak
- MacOS
- MediatR
- Microsoft.AspNet.WebApi.Client
- Middleware
- Nginx
- NLog
- npm
- NugetPackage
- PowerShell
- RazorPage
- Redis
- Security
- System.Text.Json
- TypeScript
- UnitTest
- Vue.js
- Vuex
- Webpack
系列文章
最新留言
-
IanChen
瞭解 感謝~
[Redis] 在 Asp.Net 使用 StackExchange.Redis 操作 Redis | Ian Chen - 點部落 · 4 years ago
-
Cash
- 對我來說排隊等 lock 本來就是正常行為,而且如果 timeout 了它也就走了,所以我不會在拿一次數量 -...
[Redis] 在 Asp.Net 使用 StackExchange.Redis 操作 Redis | Ian Chen - 點部落 · 4 years ago
-
IanChen
另外Cash大有私藏的 Redis Lock 套件推薦嗎?😆
[Redis] 在 Asp.Net 使用 StackExchange.Redis 操作 Redis | Ian Chen - 點部落 · 4 years ago
-
IanChen
感謝評論~...
[Redis] 在 Asp.Net 使用 StackExchange.Redis 操作 Redis | Ian Chen - 點部落 · 4 years ago
-
Cash
- redis lock 的話有其它的套件可以用,不一定要自己實作 - 然後搶票的實作有很多種,如果要用 lock...
[Redis] 在 Asp.Net 使用 StackExchange.Redis 操作 Redis | Ian Chen - 點部落 · 4 years ago
-
IanChen
的確~
那是後面要會了解的地方沒錯 -
Cash
除了知道有幾個 data type 之外。 我的重點會放在,你知道什麼時候(情況)要用什麼 data type,...
-
IanChen
比不上大大...
[ASP.NET Coe] 設置EfCore隔離等級,避免資料因為更新而lock造成排隊、Timeout的問題 | Ian Chen - 點部落 · 4 years ago
環境
事前資料
Core
1. 完整更新
var db = new MyDbContext(options); var member = new Member { Id = 2, Email = "", Name = "", Phone = "1122334455" }; db.Members.Attach(member); // 追蹤物件, 標記state為 Unchanged db.Members.Update(member); // 標記state為 Modified db.SaveChanges(); // 更新完整資料
產生SQL
UPDATE [Member] SET [Email] = @p0, [Name] = @p1, [Phone] = @p2 WHERE [Id] = @p3; -- @p0='', @p1='', @p2='11223344', @p3='2'
2. 部份更新
var db = new MyDbContext(options); var member = new Member { Id = 2, Email = "", Name = "", Phone = "1122334455" }; db.Members.Attach(member); db.Entry(member).Property(r => r.Phone).IsModified = true; // 想要更新的欄位 db.SaveChanges();
產生SQL
UPDATE [Member] SET [Phone] = @p0 WHERE [Id] = @p1; -- @p0='1122334455', @p1='2'