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, 123);

 

  定义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", 123);

 

  修改一个对象的单独几个字段:

db.Update<article>("SET title=@0 WHERE article_id=@1", "New Title", 123);

 

  同时,你可以告诉PetaPoco 忽略某个字段,给该字段加上 PetaPoco.Ignore 特性 即可

public class article
{
    [PetaPoco.Ignore]
    public long SomeCalculatedFieldPerhaps
    {
        get; set;
    }
}

 

posted @   章为忠  阅读(1541)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示