PetaPoco 使用总结(二)
接着上一篇,上一篇主要介绍了PetaPoco 基本情况,优缺点和基本的查询功能,所以这篇主要介绍的是PetaPoco 的增,删,改等功能。PetaPoco提供了完整的增,删,改,查功能。是代替SqlHelper辅助类的不二选择。
插入对象:需要指定的表和它的主键。
var a=new article();
a.title="My new article";
a.content="PetaPoco was here";
a.date_created=DateTime.UtcNow;
db.Insert("articles", "article_id", a);
如果是T4模板自动生存的Poco 对象,直接 a.Insert() 即可 。
更新一条数据或是更新某个字段:
a.content="Balah balah";
db.Update(a);
删除
// Delete an article extracting the primary key from a record
db.Delete("articles", "article_id", a); // Or if you already have the ID elsewhere
db.Delete("articles", "article_id", null, );
定义Poco类,或者通过T4模板生成,这样增删改查会更加简单:
// Represents a record in the "articles" table
[PetaPoco.TableName("articles")]
[PetaPoco.PrimaryKey("article_id")]
[PetaPoco.ExplicitColumns]
public class article
{ [PetaPoco.Column]publiclong article_id { get; set;} [PetaPoco.Column]publicstring title { get; set;} [PetaPoco.Column]publicDateTime date_created { get; set;} [PetaPoco.Column]public bool draft { get; set;} [PetaPoco.Column]publicstring content { get; set;} }
增加
var a=new article(); a.title="My new article"; a.content="PetaPoco was here"; a.date_created=DateTime.UtcNow; db.Insert(a);
修改
a.content="Blah blah"; db.Update(a);
删除对象
db.Delete(a);
删除某条或多条记录
db.Delete<article>("WHERE article_id=@0", );
修改一个对象的单独几个字段:
db.Update<article>("SET title=@0 WHERE article_id=@1", "New Title", );
同时,你可以告诉PetaPoco 忽略某个字段,给该字段加上 PetaPoco.Ignore 特性 即可
public class article
{
[PetaPoco.Ignore]
public long SomeCalculatedFieldPerhaps
{
get; set;
}
}
PetaPoco 使用总结(二)的更多相关文章
- ORM之PetaPoco入门(二)--Petapoco基本用法
1. Petapoco基本用法 1.1. 创建示例工程 首先创建一个工程文件,为了便于展示数据这里创建一个类型为:WindowsApplication的工程文件.命名为:PetapocoTest. 程 ...
- PetaPoco入门(二)
1. Petapoco基本用法 1.1. 创建示例工程 首先创建一个工程文件,为了便于展示数据这里创建一个类型为:WindowsApplication的工程文件.命名为:PetapocoTest. 程 ...
- ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...
- 轻量级ORM框架初探-Dapper与PetaPoco的基本使用
一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库 ...
- sns社区架构设计案例分享(二)
源码下载地址:http://www.jinhusns.com/Products/Download/?type=xcj 五. 架构使用说明 > 缓存 > 使用说明 > (一)基础类库介 ...
- 权限设计实现(MVC4+Bootstrap+ PetaPoco+Spring.Net)
权限设计实现(MVC4+Bootstrap+ PetaPoco+Spring.Net) 一.前言 至毕业后一直在做企业Web开发,做过的项目也有不少,每个项目的框架设计都不是一样,但是每个项目的权限模 ...
- ORM-Dapper学习<二>
Dapper的简介 Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.Dapper只有一个代码文件,完全开源,你 ...
- (原创)PetaPoco使用小记(2014-5-5更新)
接触PetaPoco已经有一段时间了,为了全面了解一下PetaPoco,刚好结合目前在做的一个项目,对常用的几个业务操作用PetaPoco进行改写,如增删改查.分页以及存储过程的调用,在文章的最后附上 ...
- PetaPoco轻量级ORM框架 - 对Database类的进行扩展,可以返回Table格式数据
一.有时我们需要将常用的功能添加到PetaPoco中的Database类中 实现方式有2种,以下以查询字段为例 1.通过扩展方式实现,此方式不改变被调用(Database)类名(只能增加方法) pub ...
随机推荐
- Swift基础--Swift中的异常处理
Swift中的异常处理 OC中的异常处理:方法的参数要求传入一个error指针地址,方法执行完后,如果有错误,内部会给error赋值 Swift中的异常处理:有throws的方法,就要try起来,然后 ...
- 基于Oracle的Mybatis 批量插入
项目中会遇到这样的情况,一次性要插入多条数据到数据库中,有两种插入方法: 方法一: Mybatis本身只支持逐条插入,比较笨的方法,就是遍历一个List,循环中逐条插入,比如下面这段代码 for(Da ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
- Linux基础3(用户/组管理,rpm,yum,源码安装软件)
用户管理 与用户相关的配置文件 /etc/passwd /etc/shadow /etc/skel /etc/defalut/useradd /etc/login.defs useradd userm ...
- plsql dev引起的数据库被黑勒索比特币实现原理分析和解决方案
转自http://www.xifenfei.com/2016/11/plsql-dev-hacker-bitcoin.html afterconnect.sql是plsql dev登录后自动执行脚本, ...
- Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar ...
- hadoop 2.x 完全分布式搭建
HDFS HA 集群搭建: DN(DataNode):3个:NN(NameNode):2:ZK(ZooKeeper):3(大于1的奇数个):ZKFC:和NN在同一台机器:JN:3:RM(Resourc ...
- Leetcode Integer Replacement
Given a positive integer n and you can do operations as follow: If n is even, replace n with n/2. If ...
- kali2016.2源
最近中科大的源出了问题,官方源又会重定向到意大利. 一下源目前亲测可用:kali2016.2源 清华大学 deb http://mirrors.tuna.tsinghua.edu.cn/kali ka ...
- C# ref的应用
之前一直只是知道有这么个参数修饰符,也知道用来干嘛的,但是基本就没用上.这几天好好整理了一下,发现ref的修饰符可以帮助简化很多代码.让我更深入的了解到面向对象的深沉含义. 自定义一个类中,类中的方法 ...