PetaPoco 快速上手
来源:互联网 发布:java string split 点 编辑:程序博客网 时间:2024/06/09 16:37
今天来给大家分享一个好用的轻型的.net框架的ORM——PetaPoco
本着快速上手的原则,我们通过和EF对比,让大家能快速使用PetaPoco
PetaPoco大家可能没有听说过,但大家一定听说过或者用过EF吧,其实,PetaPoco和EF是一个性质的东西,只不过PetaPoco相对于EF而言较为轻量级的。
与EF一样,我们可以再NuGet中将其引用安装进来。
安装完毕之后,我们可以就可以在解决方案中看到多个文件夹。
注:ExModels这个文件夹是我自己加上的,不是自己生成的。
在EF中,分为好几种模式,如:代码优先(Code First),数据库优先(DataBase First) 等等……在PetaPoco中只有与EF类似的数据库优先即DataBase First(可能还有其他模式,但笔者没有深入研究)。
我们来说一下PetaPoco中几个关键的文件
在Generated文件有一个Database.tt的文件,他下面还有个Database.cs的文件,这两个文件,是PetaPoco'数据库优先模式'的关键文件。本着快速上手的原则,其他文件就不做一一说明了。
下面我们来看一下如何在一个项目中来快速使用PetaPoco。
第一步:在App.config或Web.config 文件中配置数据库连接字符串。
第二步:配置Database.tt文件。
打开Database.tt文件,给大家说一下几个比较重要的配置属性,没有提到的,可以用他们给的默认值。
上面标注的就是几个在项目中需要用到的比较重要的配置属性,还有一些配置属性没有做一一的说明,小伙伴们可以自己研究一下,或者去网上查一下资料。
点击保存(Ctrl+S),则PetaPoco会自动关联相应的数据库,给我们生成每个表的表实例,表明即为实例的类名,表字段名即为实例类的属性名,是不是感觉和EF的DataBase First 很类似啊。
PetaPoco将自动生成的类实例保存到了PetaPoco.cs文件中了。我们可以在这个文件中查看。如果遇到数据库数据结构发生变化,我们可以在Database.tt中重新点击保存(Ctrl+S)一下,即可更新了。
PetaPoco配置完了,下面就可以真枪实弹的来用它进行对数据库的一系列操作了。
根据上面的Database.tt的配置,我们生成的Database.cs文件中,命名空间和类名如下:
下面我用简单的几个小例子来给大家介绍一下PetaPoco操作数据库的一些方法函数。
1、初始化
var db = new AntManManagerDB();
var db = new AntManManagerDB("AntManManager");
上述两行是常用的初始化Database的代码,还有很多初始化的重载,大家可以自己看一下。
2、Insert
//message 是PetaPoco根据数据库表生成的类实例
var db = new AntManManagerDB(); db.Insert(message);
db.Execute("Insert语句");
3、Delete
//message 是PetaPoco根据数据库表生成的类实例var db = new AntManManagerDB(); db.Delete(message)
db.Execute("Delete语句");
4、Update
//message 是PetaPoco根据数据库表生成的类实例
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类实例,其属性中,有很多你需要的值哦var result=db.Page<Message>(1, 20, // <-- 第几页,每页几条 "SELECT * FROM articles WHERE category=@0 ORDER BY date_posted DESC", "coolstuff");// 查询所有数据 foreach (var a in db.Query<Message>("SELECT * FROM message")){ Console.WriteLine("{0} - {1}", a.message_id, a.title);}//查询所有数据 var a=db.Fetch<Message>("SELECT * FROM message")
6、事务
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); }
常用的数据库操作就这些了。
挺好用的,拿出来分享一下。
- PetaPoco 快速上手
- 快速上手
- 使用 C# + SQLite + PetaPoco + django 快速打造桌面程序
- Eclipse快速上手指南
- Eclipse快速上手指南
- Pro*C快速上手
- Eclipse快速上手指南
- Eclipse快速上手指南
- 传真机快速上手
- 快速上手Cruisecontrol
- delphi之快速上手
- [AppFuse]快速上手
- JasperReports快速上手
- MyEclipse Struts 快速上手
- MyEclipse Struts 快速上手
- MyEclipse Struts 快速上手
- MyEclipse Struts 快速上手
- MyEclipse Struts 快速上手
- 元素设为inline-block元素里有内容与无内容导致的错位问题
- 生命周期Activity ,Fragment,Service
- 重写equal 的同时为什么必须重写hashcode?
- UVa1225 DIgit Counting
- 获取CPU性能信息代码
- PetaPoco 快速上手
- 挑战 P234 poj3281
- 目标检测--Accurate Single Stage Detector Using Recurrent Rolling Convolution
- 数组和链表的区别
- 盒子弧度
- Android——EventBus3.0的使用详解
- js加减乘除丢失精度问题解决方法
- 为什么Linux的音频驱动位于sound目录下而不是driver/sound?
- VR、RTMP播放器SGPlayer原理详解