日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PetaPoco 快速上手

發(fā)布時(shí)間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PetaPoco 快速上手 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天來給大家分享一個(gè)好用的輕型的.net框架的ORM——PetaPoco

本著快速上手的原則,我們通過和EF對比,讓大家能快速使用PetaPoco

PetaPoco大家可能沒有聽說過,但大家一定聽說過或者用過EF吧,其實(shí),PetaPoco和EF是一個(gè)性質(zhì)的東西,只不過PetaPoco相對于EF而言較為輕量級的。

與EF一樣,我們可以再NuGet中將其引用安裝進(jìn)來。

安裝完畢之后,我們可以就可以在解決方案中看到多個(gè)文件夾。

注:ExModels這個(gè)文件夾是我自己加上的,不是自己生成的。

在EF中,分為好幾種模式,如:代碼優(yōu)先(Code First),數(shù)據(jù)庫優(yōu)先(DataBase First) 等等……在PetaPoco中只有與EF類似的數(shù)據(jù)庫優(yōu)先即DataBase First(可能還有其他模式,但筆者沒有深入研究)。

我們來說一下PetaPoco中幾個(gè)關(guān)鍵的文件

在Generated文件有一個(gè)Database.tt的文件,他下面還有個(gè)Database.cs的文件,這兩個(gè)文件,是PetaPoco'數(shù)據(jù)庫優(yōu)先模式'的關(guān)鍵文件。本著快速上手的原則,其他文件就不做一一說明了。

下面我們來看一下如何在一個(gè)項(xiàng)目中來快速使用PetaPoco。

第一步:在App.config或Web.config 文件中配置數(shù)據(jù)庫連接字符串。

第二步:配置Database.tt文件。

打開Database.tt文件,給大家說一下幾個(gè)比較重要的配置屬性,沒有提到的,可以用他們給的默認(rèn)值。

上面標(biāo)注的就是幾個(gè)在項(xiàng)目中需要用到的比較重要的配置屬性,還有一些配置屬性沒有做一一的說明,小伙伴們可以自己研究一下,或者去網(wǎng)上查一下資料。

點(diǎn)擊保存(Ctrl+S),則PetaPoco會(huì)自動(dòng)關(guān)聯(lián)相應(yīng)的數(shù)據(jù)庫,給我們生成每個(gè)表的表實(shí)例,表明即為實(shí)例的類名,表字段名即為實(shí)例類的屬性名,是不是感覺和EF的DataBase First 很類似啊。

PetaPoco將自動(dòng)生成的類實(shí)例保存到了PetaPoco.cs文件中了。我們可以在這個(gè)文件中查看。如果遇到數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)發(fā)生變化,我們可以在Database.tt中重新點(diǎn)擊保存(Ctrl+S)一下,即可更新了。

PetaPoco配置完了,下面就可以真槍實(shí)彈的來用它進(jìn)行對數(shù)據(jù)庫的一系列操作了。

根據(jù)上面的Database.tt的配置,我們生成的Database.cs文件中,命名空間和類名如下:

下面我用簡單的幾個(gè)小例子來給大家介紹一下PetaPoco操作數(shù)據(jù)庫的一些方法函數(shù)。

1、初始化

var db = new AntManManagerDB(); var db = new AntManManagerDB("AntManManager");

上述兩行是常用的初始化Database的代碼,還有很多初始化的重載,大家可以自己看一下。

2、Insert

//message 是PetaPoco根據(jù)數(shù)據(jù)庫表生成的類實(shí)例
var db = new AntManManagerDB();db.Insert(message); db.Execute("Insert語句");

3、Delete

//message 是PetaPoco根據(jù)數(shù)據(jù)庫表生成的類實(shí)例 var db = new AntManManagerDB(); db.Delete(message) db.Execute("Delete語句");

4、Update

//message 是PetaPoco根據(jù)數(shù)據(jù)庫表生成的類實(shí)例
var db = new AntManManagerDB(); db.Update(message) db.Execute("Update語句");

5、Select

//單條查詢 var a=db.SingleOrDefault<Message>("SELECT * FROM articles WHERE article_id=@0", 123); //分頁查詢,返回Page類實(shí)例,其屬性中,有很多你需要的值哦 var result=db.Page<Message>(1, 20, // <-- 第幾頁,每頁幾條"SELECT * FROM articles WHERE category=@0 ORDER BY date_posted DESC", "coolstuff"); // 查詢所有數(shù)據(jù) foreach (var a in db.Query<Message>("SELECT * FROM message")) {Console.WriteLine("{0} - {1}", a.message_id, a.title); } //查詢所有數(shù)據(jù) var a=db.Fetch<Message>("SELECT * FROM message")

6、事務(wù)

var db = new AntManManagerDB();db.BeginTransaction();try{foreach (var message in listMessage){db.Insert(message);}db.CompleteTransaction();return true;}catch (Exception e){db.AbortTransaction();throw new Exception(e.Message);}

常用的數(shù)據(jù)庫操作就這些了。

挺好用的,拿出來分享一下。

努力,不是為了要感動(dòng)誰,也不是要做給哪個(gè)人看,而是要讓自己隨時(shí)有能力跳出自己厭惡的圈子,并擁有選擇的權(quán)利。記住,用自己喜歡的方式過一生。

轉(zhuǎn)載于:https://www.cnblogs.com/yulei126/p/6757750.html

總結(jié)

以上是生活随笔為你收集整理的PetaPoco 快速上手的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。