PetaPoco 轻量级ORM 入门

PetaPoco 是一个开源轻量级ORM,够小,够快,单文件, 在GitHub上有很高的人气 1377星,几年来作者一直在更新

github: https://github.com/CollaboratingPlatypus/PetaPoco

 1.添加Nugit引用后,会创建以下内容,所说的单文件就是PetaPoco.cs,项目中也可只保留此文件,Generated文件夹存放的是T4模板,用于生成实体类,如不需要可以删除

2.配置数据库连接,根据T4模板生成Model类,如不需要则可省略此步

<add name="SqlServer" connectionString="Data Source=.;uid=sa;pwd=we;database=JD;" providerName="System.Data.SqlClient"/>

3.保存后,会生成Database.cs文件内容如下:

4.如果数据库表有新增或修改字段,执行以下操作后,会自动生成相应的实体类。

 3.实操:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PetaPocoDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = Db.Record<Person>.SingleOrDefault(1);   //查询ID=1的记录
            Db.Record<Person>.Delete(2);                        //删除ID=2的记录

            Person person = new Person { Name = "曹操", Sex = "男", Age = 500 };
            var db = Db.GetInstance();

            db.Execute("truncate table person");

            //保存一个实体
            db.Save(person);
            db.Save(new Person { Name = "孙悟空" });
            db.Save(new Person { Name = "孙悟空" });
            db.Save("Person", "ID", new { Name = "张天天", ID = 3 }); //save根据主键决定是新增还是修改

            //查询一个实体
            person = db.Single<Person>(1);
            person = db.Single<Person>("where id=2");

            //删除一个实体
            db.Delete(person);
            db.Delete<Person>(1);
            db.Delete<Person>("where name=‘张天天‘");

        }
    }
}
CREATE TABLE [dbo].[Person](
    [ID] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [VARCHAR](50) NULL,
    [Sex] [VARCHAR](50) NULL,
    [Age] [INT] NULL,
    [AddTime] [DATETIME] NULL,
 CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

原文地址:https://www.cnblogs.com/slwangzi/p/9374426.html

时间: 2024-08-22 13:45:35

PetaPoco 轻量级ORM 入门的相关文章

轻量级ORM框架初探-Dapper与PetaPoco的基本使用

一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库表 (1)For MSSQL CREATE TABLE [dbo].[Posts] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [CategoryId] INT NOT NULL, [Slug] VARCHAR(120) NOT NULL, [Title] N

Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库上下文

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射 前言 上文讲述了数据库配置使用,搭建好数据库的链接方式了我们知道怎么做了. 事实上,至今我们仍然还没有讲到代码方面,花了前面这么多篇幅讲解,主要是想由浅入深,不然一上来给大家讲解这讲解那的,听的也一头雾水,反而得不到效果. 这篇比较重要,因为它是我们在使用Far

PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有轻量级的Dapper.PetaPoco等 假如你喜欢原生的Sql语句.又喜欢ORM的简单.又追求高性能,那么轻量级的ORM框架是你的不二选择. 说到轻量级ORM框架Dapper的名气比较大(因为出自名门?),但我却选择使用PetaPoco,因为: 提供了更易用的API Dapper仅提供了一系列Qu

Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程数据操作

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表/视图缓存操作 TableCahceSet.ViewCahceSet 前言 在上篇中,我们学会了存储过程的关系映射,其中知道了存储过程需要使用:ProcSet作为操作的上下文,以及在Field特性上,我们知道了新的两个属性用来存储过程的参数输入输出. 在上篇末尾,提到了

Android轻量级ORM框架ActiveAndroid入门教程(转)

注:没有找到出处,如有侵犯,请告知 开始ActiveAndroid神奇之旅: 在AndroidManifest.xml中我们需要添加这两个 AA_DB_NAME (数据库名称,这个name不能改,但是是可选的,如果不写的话 是默认的"Application.db"这个值) AA_DB_VERSION (数据库版本号,同样是可选的 – 默认为1) <manifest ...> <application android:name="com.activeandro

Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射 前言 我们知道对于关系数据库,视图的出现可以在一定的情况下减少因要进行数据关联而带来的大量SQL语句,它可以让我们就像访问一张表一样的简单操作. 作为ORM来说,支持视图也是一项最基础的工作.然而大部份的ORM中,对视图没有特意去提供这个类,因为视图的SQ

.net的轻量级ORM -- PetaPoco/NPOCO框架使用说明

.net的轻量级ORM -- PetaPoco/NPOCO框架使用说明(具体参看:http://www.toptensoftware.com/petapoco/) 从11年就开始尝试使用轻量级ORM:PetaPoco,下文是基本使用方法.另外NPoco是PetaPoco的升级版,是另外一个人维护,原版PetaPoco基本不再维护.NPoco大多数用法和PetaPoco一致,另外有些额外的功能.NPoco我会考虑再写一篇文章介绍. 运行查询 首先定义POCO 注:POCO意思是Plain Old

Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射

导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 前言 在V1.0中,新增了视图的映射.在以往的版本中,视图是当成”表“来操作的. 但是我们的视图通常只是为了方便查询而建的.而表支持写操作.会显的很不入调(当然MSSQL的视图也是支持写的,但是这里的视图映射是为了只读视图而来的) 先看下我DEMO中的上下文与视

轻量级ORM——PetaPoco

近乎产品的数据访问是基于轻量级ORM--PetaPoco,哪怕是最新的5.2版本也是基于PetaPoco. 产品源码下载地址:http://www.jinhusns.com/Products/Download 数据访问基于PetaPoco(轻量级ORM),采用Repository模式实现.具有以下功能特征: 在确保性能和灵活性的同时,最大限度减少数据访问的代码量,以提升开发效率: 目前支持SQL Server2005-20 08R2.SQL Server Express2005~2008R2,S