Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Dapper

Dapper

Scheduled Pinned Locked Moved The Lounge
question
47 Posts 22 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Nish Nishant

    Dapper is written in C# which is from Microsoft too :-)

    Regards, Nish


    Website: www.voidnish.com Blog: voidnish.wordpress.com

    S Offline
    S Offline
    Snorri Kristjansson
    wrote on last edited by
    #41

    He he - there is no escaping - is there?

    1 Reply Last reply
    0
    • realJSOPR realJSOP

      Does anyone here use the Dapper ORM?

      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
      -----
      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
      -----
      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

      C Offline
      C Offline
      Caspian Canuck
      wrote on last edited by
      #42

      I've been using Dapper's spinoff NPoco for a couple of years in a large work project and it's worked out mostly great. The good: 1. Lightning fast, just a fraction slower than bare-bones ADO.NET. 2. No surprise SQL, you know exactly what SQL is sent to the server because you wrote it yourself (unless it's a simple single-table CRUD operation that NPoco generates itself). 3. Latest versions come with Linq expressions support. Back when our project got started there was no Linq support in NPoco and I ended up writing my own Linq-like repository wrapper. (I've made several other customizations to NPoco not all of which have made it into the official codebase, so I can't upgrade.) The bad: 1. No support for the JOIN syntax in NPoco's Linq implementation. Depending on how you look at it, this can be either a deficiency or a blessing (given how ugly SQL can get with auto-generated joins in EF and other full-feature ORMs). 2. The API can be a little confusing with too many overloaded methods and methods with different names but similar functionality.

      1 Reply Last reply
      0
      • S stoneyowl2

        Not that one, but I have used something called 'PetaPoco', which is kinda based on Dapper. The nice thing, to me, is it is a single .cs file that can be included right in you solution. He also has a later version that is a normal assembly. You will probably need to google 'PetaPoco' to find it.

        C Offline
        C Offline
        Caspian Canuck
        wrote on last edited by
        #43

        NPoco is the latest version of PetaPoco and is still being actively maintained.

        1 Reply Last reply
        0
        • A andegre

          Dapper is considerably faster than EF. And I also believe that it was written BY Stackoverflow. GitHub - StackExchange/dapper-dot-net: Dapper - a simple object mapper for .Net[^]

          S Offline
          S Offline
          Slacker007
          wrote on last edited by
          #44

          andegre wrote:

          BY Stackoverflow.

          I see that. Interesting. Thanks for the info.

          1 Reply Last reply
          0
          • S Slacker007

            EF 6 has more optimizations than before, and is more powerful IMHO then 4 or 5. Any reason why you can't use that?

            U Offline
            U Offline
            UstesGreenridge
            wrote on last edited by
            #45

            The biggest reason I use Dapper, sometimes I just want to create some POCOs and have them access the db. With Dapper all I need is a connection string and my classes..

            1 Reply Last reply
            0
            • realJSOPR realJSOP

              Does anyone here use the Dapper ORM?

              ".45 ACP - because shooting twice is just silly" - JSOP, 2010
              -----
              You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
              -----
              When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

              J Offline
              J Offline
              James VT
              wrote on last edited by
              #46

              I used it for a project. I didn't use any of the object-relational mapping, but I liked that I could swap this:

              SqlConnection conn = new SqlConnection(connString);
              string sql = @"select * from MyTable";
              SqlCommand cmd = new SqlCommand(sql, conn);
              conn.Open();
              SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
              if (rdr.HasRows)
              {
              while (rdr.Read())
              {
              //do something with record
              }
              rdr.Close();
              }

              with this:

              SqlConnection conn = new SqlConnection(connString);
              string sql = @"select * from MyTable";
              IEnumerable flatResult = conn.Query(sql);

              I thought that was pretty handy, especially for quick prototyping where the table and field names were changing a lot and I didn't want to hassle with altering all the field names and just wanted a quick resultset back.

              S 1 Reply Last reply
              0
              • J James VT

                I used it for a project. I didn't use any of the object-relational mapping, but I liked that I could swap this:

                SqlConnection conn = new SqlConnection(connString);
                string sql = @"select * from MyTable";
                SqlCommand cmd = new SqlCommand(sql, conn);
                conn.Open();
                SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                if (rdr.HasRows)
                {
                while (rdr.Read())
                {
                //do something with record
                }
                rdr.Close();
                }

                with this:

                SqlConnection conn = new SqlConnection(connString);
                string sql = @"select * from MyTable";
                IEnumerable flatResult = conn.Query(sql);

                I thought that was pretty handy, especially for quick prototyping where the table and field names were changing a lot and I didn't want to hassle with altering all the field names and just wanted a quick resultset back.

                S Offline
                S Offline
                Slacker007
                wrote on last edited by
                #47

                Inline SQL for anything (C# code files, etc.) is strongly discouraged at our shop, but I see your point. :)

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups