輕量高效ORM之Dapper篇

大家好克滴,我是大成子。今天學(xué)習(xí)ORM框架之dapper

介紹

dapper是一個簡單的對象關(guān)系映射框架(ORM----Object Relation Mapping)熄驼,它幾乎與原始的ADO.NET 數(shù)據(jù)操作讀取一樣快(反正我ado.net已經(jīng)忘完了╥__╥像寒,以前用的最多是linq to sql和ef,不需要寫sql語句瓜贾,使用linq操作數(shù)據(jù)源)诺祸,它負(fù)責(zé)數(shù)據(jù)庫與編程語言之間的映射。

與EF的優(yōu)劣

EF-------重量級ORM的代表

優(yōu)點:

面向?qū)ο笫讲僮鲾?shù)據(jù)庫祭芦。

完全擺脫SQL 語句序臂,不用關(guān)心SQL如何寫,可移植性強实束。

支持code first,開發(fā)人員可以完成且無需關(guān)心數(shù)據(jù)庫逊彭,代碼先行咸灿,極大節(jié)省開發(fā)成本。

結(jié)合LINQ侮叮,開發(fā)效率高避矢。

跨數(shù)據(jù)庫,易配置。

與VS結(jié)合較好审胸。

缺點:

比較復(fù)雜亥宿,學(xué)習(xí)曲線復(fù)雜(官方文檔豐富且雜)。

不適合做統(tǒng)計查詢(因為統(tǒng)計查詢需要執(zhí)行查詢效率高)砂沛。

對于多表查詢或一些復(fù)雜的查詢實現(xiàn)較為困難和復(fù)雜烫扼。

自動生成的SQL語句復(fù)雜,效率低碍庵。

EF的Context上下文不是線程安全的(知識有限映企,不懂)。

包和插件較為冗余(對于中小型項目來說)静浴,性能一般堰氓。

Dapper--------輕量級ORM的代表

優(yōu)點:

開源,輕巧(輕量級)苹享,編譯后文件簡單且小巧双絮。

支持主流數(shù)據(jù)庫,MSSQL,MySQL,Oracle得问。

執(zhí)行效率高囤攀。

學(xué)習(xí)較為方便。

缺點:

半自動ORM椭赋,需要開發(fā)人員自己寫實體類┭┮﹏┭┮(可以借助實體類生成工具生成)抚岗。

開發(fā)時間成本高,LINQ支持較弱哪怔。

維護(hù)成本高宣蔚,不支持Code first,開發(fā)人員除了要維護(hù)數(shù)據(jù)庫中的表认境,還需要維護(hù)代碼表中的映射對象胚委。

Dapper安裝

Nuget包安裝管理器搜索,安裝最新版本即可叉信。

Dapper方法

Dapper使用以下幾個方法擴展了我們的IDbConnection接口

Execute

Query

QueryFirst

QueryFirstOrDefault

QuerySingle

QuerySingleOrDefault

QueryMultiple

Execute

可執(zhí)行存儲過程亩冬、增、刪硼身、改等操作硅急。

此處以插入為例

MySqlConnection實現(xiàn)了DbConnection接口,當(dāng)數(shù)據(jù)庫發(fā)生改變時佳遂,可進(jìn)行更改营袜。

插入(單、多)丑罪,更新(單荚板、多)凤壁,刪除(單,多)均使用此方法

Query

Dapper Contrib插件

它是額外的插件跪另,在dapper的基礎(chǔ)上進(jìn)一步封裝了些許操作拧抖,使開發(fā)更為方便。

安裝包之后免绿,即可使用唧席。

數(shù)據(jù)注釋

ExplicitKey和Computed這兩個屬性后面遇到再闡述

基本方法

今日總結(jié),皆為初步學(xué)習(xí)针姿,有很多方法沒有涉及到袱吆,具體后期在實踐中總結(jié)。更多請關(guān)注我的微信公眾號:dotNET學(xué)習(xí)天地? ?一起學(xué)習(xí)和進(jìn)步距淫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绞绒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子榕暇,更是在濱河造成了極大的恐慌蓬衡,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彤枢,死亡現(xiàn)場離奇詭異狰晚,居然都是意外死亡,警方通過查閱死者的電腦和手機缴啡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門壁晒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人业栅,你說我怎么就攤上這事秒咐。” “怎么了碘裕?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵携取,是天一觀的道長。 經(jīng)常有香客問我帮孔,道長雷滋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任文兢,我火速辦了婚禮晤斩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘姆坚。我一直安慰自己尸昧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布旷偿。 她就那樣靜靜地躺著烹俗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪萍程。 梳的紋絲不亂的頭發(fā)上幢妄,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音茫负,去河邊找鬼蕉鸳。 笑死,一個胖子當(dāng)著我的面吹牛忍法,可吹牛的內(nèi)容都是我干的潮尝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼饿序,長吁一口氣:“原來是場噩夢啊……” “哼勉失!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起原探,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤乱凿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后咽弦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體徒蟆,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年型型,在試婚紗的時候發(fā)現(xiàn)自己被綠了段审。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡闹蒜,死狀恐怖寺枉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嫂用,我是刑警寧澤型凳,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站嘱函,受9級特大地震影響甘畅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜往弓,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一疏唾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧函似,春花似錦槐脏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堂氯。三九已至,卻和暖如春牌废,著一層夾襖步出監(jiān)牢的瞬間咽白,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工鸟缕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晶框,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓懂从,卻偏偏與公主長得像授段,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子番甩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容