前言
之前有關(guān)EF并發(fā)探討過幾次,但是呢,博主感覺還是有問題,為什么會覺得有問題,其實(shí)就是理解不夠透徹罷了,于是在項(xiàng)目中都是用的存儲過程或者SQL語句來實(shí)現(xiàn),利用放假時(shí)間好好補(bǔ)補(bǔ)EF Core并發(fā)的問題,本文比較長,請耐心點(diǎn)看。
EntityFramework Core并發(fā)初級版初探
關(guān)于并發(fā)無非就兩種:樂觀并發(fā)和悲觀并發(fā),悲觀并發(fā)簡言之則是當(dāng)客戶端對數(shù)據(jù)庫中同一值進(jìn)行修改時(shí)會造成阻塞,而樂觀并發(fā)則任何客戶端都可以對可以對數(shù)據(jù)進(jìn)行查詢或者讀取,在EF Core中不支持悲觀并發(fā),結(jié)果則產(chǎn)生并發(fā)沖突,所以產(chǎn)生的沖突則需要我們?nèi)ソ鉀Q。
為了便于理解我們從基礎(chǔ)內(nèi)容開始講起,稍安勿躁,我們循序漸進(jìn)稍后會講到并發(fā)沖突、并發(fā)解決、并發(fā)高級三個(gè)方面的內(nèi)容。我們建立實(shí)體類如下:
public class Blog { public int Id { get; set; } public string Name { get; set; } public string Url { get; set; } public int Count { get; set; } }
接下來簡單配置下映射: