In this post we are going to see how we can do CRUD operation with ASP.NET MVC and PetaPoco Micro ORM.
What is PetaPoco?
Petapoco is a tiny ORM developed by topten software. As per them it’s a tiny, fast, single-file micro-ORM for .NET and Mono.
Like Massive it's a single file that you easily add to any project
Unlike Massive it works with strongly typed POCO's
Like Massive, it now also supports dynamic Expandos too - read more
Like ActiveRecord, it supports a close relationship between object and database table
Like SubSonic, it supports generation of poco classes with T4 templates
Like Dapper, it's fast because it uses dynamic method generation (MSIL) to assign column values to properties
Features of PetaPoco:
As per topten software it contains following features.
Tiny, no dependencies... a single C# file you can easily add to any project.
Works with strictly undecorated POCOs, or attributed almost-POCOs.
Helper methods for Insert/Delete/Update/Save and IsNew
Paged requests automatically work out total record count and fetch a specific page.
Easy transaction support.
Better parameter replacement support, including grabbing named parameters from object properties.
Great performance by eliminating Linq and fast property assignment with DynamicMethod generation.
Includes T4 templates to automatically generate POCO classes for you.
The query language is SQL... no weird fluent or Linq syntaxes (yes, matter of opinion)
Includes a low friction SQL builder class that makes writing inline SQL much easier.
Hooks for logging exceptions, installing value converters and mapping columns to properties without attributes.
Works with SQL Server, SQL Server CE, MySQL, PostgreSQL and Oracle.
Works under .NET 3.5 or Mono 2.6 and later.
Experimental support for dynamic under .NET 4.0 and Mono 2.8
NUnit unit tests.
OpenSource (Apache License)
All of this in about 1,500 lines of code