Search code examples
dapperpetapoco

Add/Insert style of petapoco vs dapper


I am delighted by this:

// Insert a record with peta poco

var a = new Article();
a.title="My new article";
a.content="PetaPoco was here";
a.date_created=DateTime.UtcNow;
db.Insert(a);

I am distracted by this:

// Insert a record with dapper

var a = new Article();
a.title="My new article";
a.content="PetaPoco was here";
a.date_created=DateTime.UtcNow;
string articleQuery= "INSERT INTO Article VALUES (@Title, @Content, @Date)";        
connection.Execute(articleQuery, new { Title = a.Title, Content = a.Content, Date = a.Date });

I am new to dapper and peta poco. It might be that there is more in dapper that I have not found but I really do not like the way I have to do an insert. Peta poco seems to do it very ormish.

Can dapper do this somehow too?


Solution

  • Check out dapper extensions for 'magic' CRUD operations with Dapper:

    using (SqlConnection cn = new SqlConnection(_connectionString))
    {
        cn.Open();
        Person person = new Person { FirstName = "Foo", LastName = "Bar" };
        int id = cn.Insert(person);
        cn.Close();
    }
    

    Also see this thread for more...