PetaPoco是一款适用于.NET应用程序的轻型对象关系映射器(ORM, Object Relational Mapper)。与那些功能完备的ORM(如NHibernate或Entity Framework)不同的是,PetaPoco更注重易用性和性能,而非丰富的功能。使用PetaPoco只需要引入一个C#文件,可以使用强类型的 POCO(Plain Old CLR Object),并支持使用T4模板生成的类等等。
PetaPoco最让人感兴趣的功能包括:
在PetaPoco网站上有针对所有这些功能的详细说明及示例。
在性能方面,PetaPoco仅次于Dapper,速度只稍逊于手工编码的数据访问层(DAL, Data Access Layer)。
还有一些对初学者会有帮助的教程,它们是位于官网上的系列博文以及一些独立博文教程。此外,由于PetaPoco是开源项目,因此添加条件来处理如空间数据等特定情况会很容易。
最近,随着许多开源项目的发布,微型ORM已开始成为一种流行趋势。其他一些众所周知的适用于.NET的项目有Dapper和Massive。那些微型ORM相对于功能完备的ORM而言,会更简单、更高效,微型ORM通常要求开发人员手动编写SQL语句,而非完全动态生成。它们同样不需要冗长的映射文件,因为对于维护和调试而言,那些映射文件只会让过程变得单调乏味。
1. ORM概括 1.1. ORM简介 ORM对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在
//初始化数据库连接 var db=new PetaPoco.Database("connectionStringName"); //查询单个值 long count=db.ExecuteScalar<long>("SELECT Count(*) FROM articles"); //返回一条记录 var a = db.SingleOrDefault<article>("SELECT *
1、简介 PetaPoco是一个小型、快速、单文件的微型ORM(Object Relational Mapper)框架,可在.NET和Mono环境运行。 https://github.com/CollaboratingPlatypus/PetaPoco 2、特点 PetaPoco 是一个用于 .NET 的小型且快速的微型 ORM 与Dapper一样,它很快,因为它使用动态方法生成 (MSIL) 将
PetaPoco是一个小型、快速、单文件的微型ORM(Object Relational Mapper)框架,可在.NET和Mono环境运行。 官方介绍:http://www.toptensoftware.com/petapoco/ 源码地址:https://github.com/CollaboratingPlatypus/PetaPoco PetaPoco有如下特点: 1.PetaPoco不支持
记录一下petapoco官网博客的一些要点。这些博客记录了PetaPoco是如何一步步改进的。 目录: Announcing PetaPoco http://www.toptensoftware.com/Articles/68/Announcing-PetaPoco 第一个版本。 PetaPoco-Improvements http://www.toptensoftware.com/Article
插入数据条数为3000条 不开启事务,使用petapoco Sql类组装sql语句和参数,一次性插入。 DateTime stime = DateTime.Now; Sql sql = new Sql(); for (int i = 1; i < 3001; i++) { //sql.Append
一、引入PetaPoco.NetCore,PetaPoco.NetCore 是基于PetaPoco的轻量ORM,支持.netframework和.netcore,支持单个实体对象映射,也支持多实体对象映射,NetCore未需指定驱动连接,其它API一致。 github地址:https://github.com/qingask/PetaPoco.NetCore nugut地址:https://www
var sql = @"SELECT TOP 1000 [Id] ,[UserName] ,[Name] ,[HeadimgUrl] ,[PasswordHash] ,[Email] ,[Enable] ,[LoginTimes] ,[LastLoginTime] ,[CreatedTime
主要内容:ORM框架,映射方向,映射类型对象关系映射(ORM)是一种功能,用于通过将对象状态映射到数据库列来开发和维护对象和关系数据库之间的关系。 它能够轻松处理(或执行)各种数据库操作,如插入,更新,删除等。 ORM框架 以下是在ORM机制上运行的一些框架 - Hibernate (参考:http://www.yiibai.com/hibernate ) TopLink ORMLite iBATIS JPOX 映射方向 映射方向可分为
在本书的这一部分中,我们将介绍一些内容,它们与本书其余部分的结构不相符,但对于初级开发人员来说,这是非常必要的主题。了解如何在 SQL 数据库中构造数据,会教给你如何在逻辑上思考数据存储需求。有一个建立已久的方法来解构数据,有效存储数据和访问数据。近年来 NoSQL 数据库的发展使其不同,但关系数据库设计背后的基本概念仍然有用。在你需要存储数据的每个地方,都需要良好地构造并理解数据。 大多数这些练
我想知道Mapstruct是否以及如何帮助映射具有双向关系的ojects(在我的情况下是一对多): 从/映射到实体会产生。(我希望这会发生)。另一方面,封闭的Mapstruct问题469和1163似乎意味着Mapstruct不会直接支持它。我尝试了这个例子: https://github.com/mapstruct/mapstruct-examples/tree/master/mapstruct-
我使用此链接中的以下代码为我的一个数据模型类(JSON到JAXB模型的转换)添加自定义反序列化程序。 我想使用com。fasterxml。杰克逊。jaxrs。json。JacksonJaxbJsonProvider,用于其他数据模型的JSON序列化/反序列化。 JacksonJaxbJsonProvider的默认实现非常适合我的JAXB模型,将超类作为抽象类。但是,一旦我提供了自己的自定义Obje
问题内容: 在我的elasticsearch服务器中,我只有一个索引。 (博客)索引包含多种类型。 如:,。 在标签类型中,我创建了1000多个标签,并在帖子类型中创建了10个帖子。 例如:帖子 例如:标签 我想将现有标签分配给博客帖子(即,关系=>映射)。 如何将标签分配给帖子映射? 问题答案: 您可以在Elasticsearch中使用4种方法来管理关系。在Elasticsearch博客文章-E
我有一个对象,我正试图映射到。现在这个有一个名为的枚举,其中包含一些值。我想使用将它们映射到中的其他枚举值。以下是我到目前为止的代码: 当我尝试编译它时,我得到了错误:
如果在中只有一组,这将非常好地工作。ASSESSMENT_COMMENT只有两列: 它将完美地代表一对多的关系。 现在问题来了: 那么,1)这是Hibernate中已知的bug吗?2)有办法解决这个问题吗?我可以强制Hibernate创建两个映射表,每个映射表一个吗?请记住,我不能更改类来引用(业务逻辑需求)
这个log比较多 2015-03-30 10:49:49,679 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:98) DEBUG - module class location 'file:/D:/nutzbook/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp