Getting Started with Dapper in .NET

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • All videos in this playlist: • ASP.NET 8 REST API Tut...
    In today's video, we'll see how simple it is to get started with the dapper NuGet package and use it to execute SQL queries against our postgres database.
    Join us on discord: / amantinband
    Get the source code: / amantinband
    Support the channel: / amantinband
    Connect with me on 'em socials:
    Twitter: / amantinband
    LinkedIn: / amantinband
    GitHub: github.com/ama...
    Check out all my courses on DomeTrain:
    dometrain.com/...
    Support the channel and get the source code:
    / amantinband
    Thanks for watching, don't forget to like & comment & subscribe! ❤️ 💻

Komentáře • 46

  • @fanaccount6600
    @fanaccount6600 Před měsícem +11

    Please add numbers to the title of the videos. i clicked on the playlist link and it's a bit confusing in what order i should watch them

  • @recaicingoz6785
    @recaicingoz6785 Před měsícem +9

    Thanks for the video but I actually don't want to find myself writing sql queries on the code side. Sometimes I can add a new feature to a class and then I need to change or update the sql query that I defined as dapper query in my repository. btw I know the dapper's power.

  • @ahupond
    @ahupond Před měsícem +2

    4:45 Best practice/Performance tip: return a boolean or an Error object instead of throwing an exception. For methods that return valid values, such as GetByIdAsync, you can use OneOf or ErrorOr libraries to return an explicit "not found" instead of using null as an implicit case.

    • @amantinband
      @amantinband  Před měsícem +5

      I would likely recommend yes throwing. In most cases, this should be truly unexpected and should be treated as such.

    • @jcorrify
      @jcorrify Před 18 dny +1

      Not sure you realise Amichai is the author of the mentioned ErrorOr Nuget.... I'm confident he knows what he does...

  • @Radictor44
    @Radictor44 Před měsícem +1

    Really good video, learnt some things I didn't know here (I'm not a dev), but now thinking of how I can apply this to my own projects. 😃

  • @andrewboyd6090
    @andrewboyd6090 Před měsícem +1

    I haven’t used Dapper in 15 years, it’s barely changed, it certainly isn’t a EF CORE killer, but is worth knowing for the few scenarios it does a better job than EF CORE

    • @sneer0101
      @sneer0101 Před měsícem

      Why would it need to change?

  • @mariobrazil3934
    @mariobrazil3934 Před měsícem +2

    Thanks very much Amichai for this video.
    I'd like you make video how is your vscode settings, add-ons, settings, tips e etc. I notice that your vscode look like vim editor. Again, thank you.

  • @boring91
    @boring91 Před 2 měsíci +2

    Great video as always. One question I have is why did we go with Dapper instead of EF?

    • @amantinband
      @amantinband  Před 2 měsíci +5

      Just to mix things up. Both are great options for prod and non-prod apps with different pros and cons

    • @PatricSjoeoe
      @PatricSjoeoe Před měsícem +6

      EF Core getting better and better, Dapper is now obsolete.

    • @nilscoussement
      @nilscoussement Před měsícem +2

      @@PatricSjoeoe I did some speed tests last year, and had the same conclusion.
      However, when working on a bad database, you might still prefer to use raw sql over objects.
      No significant difference in memory usage or things like that.

    • @10Totti
      @10Totti Před měsícem +4

      @@PatricSjoeoe Great video but with the recent developments of EF Dapper it is no longer as beneficial as before.

  • @ashoktandan2372
    @ashoktandan2372 Před 29 dny

    why scoped for IDBConnectionFactory class?

  • @vuhoang5903
    @vuhoang5903 Před měsícem

    Can we use the generic repository pattern like in EF core or do we have to write distinct queries for every entity?

  • @johnnyggun7141
    @johnnyggun7141 Před měsícem

    Cool! Shouldn't we reuse the opened DB connection tho?

  • @andihell4208
    @andihell4208 Před měsícem

    Hi, Amichai. Thanks for the video.
    Can you say please is it would be a good idea to change our insert and select queries using string interpolation for naming columns using nameof(Product.Name) for example instead of hardcoding column titles in query string?

  • @tchial0
    @tchial0 Před měsícem +1

    I have been seeing singular names for repositories out there, like "ProductRepository" instead of "ProductsRepository". Which makes more sense?

    • @elan2199
      @elan2199 Před měsícem +1

      Both

    • @uuuummm9
      @uuuummm9 Před měsícem

      I usually try to not use plural for words that should work as an adjective. But i am not a native speaker.

  • @cemkaya4448
    @cemkaya4448 Před měsícem

    Thanks for the video.
    In the work environment, do you use postgre SQL or MSSQL? I ask it because in macOS you cannot use the MSSQL. I wonder how do you handle it?

    • @amantinband
      @amantinband  Před měsícem

      In this series I'm using postgres (as part of this video: czcams.com/video/JiJeZOHx0ow/video.html), but mssql can be set up in a similar fasion

    • @cemkaya4448
      @cemkaya4448 Před měsícem

      @@amantinband Thank you!

    • @gyanookharel7440
      @gyanookharel7440 Před měsícem

      Docker?

  • @harrisonwell1719
    @harrisonwell1719 Před měsícem

    I think you should be AddSingleton instead AddScoped, correct me if I'm wrong

  • @10Totti
    @10Totti Před měsícem +1

    Great video but with the recent developments of EF Dapper it is no longer as beneficial as before.

    • @amantinband
      @amantinband  Před měsícem +2

      Right, although sometimes the choice is a matter of personal preferences and not only performance

    • @ghevisartor6005
      @ghevisartor6005 Před měsícem

      If u want to have an immutable model is hard to do with ef core compared to dapper

  • @gppsoftware
    @gppsoftware Před měsícem +1

    Sorry, but Dapper went out of fashion 15 years ago. And so did the bad practice of writing non-parameterised raw SQL into code.
    EF provides a much better way of doing things.

    • @jcorrify
      @jcorrify Před 18 dny

      The queries are actually parameterized... Dapper or EF is a matter of preference... If you don't like, don't use it but it's still a good option

    • @gppsoftware
      @gppsoftware Před 18 dny

      @@jcorrify I don't think any of my clients would thank me for imposing 15 year out of date tech debt on them. Good luck with doing that to your clients!

  • @tekoScott
    @tekoScott Před měsícem

    What vscode theme are you using?

  • @Siddiskongen
    @Siddiskongen Před měsícem

    Why the heck are you using primary constructors and assigning a private field variable? Just use the parameter directly. Thats the point of it

    • @ddrsdiego
      @ddrsdiego Před 27 dny

      Do better, don't use primary constructors

    • @Siddiskongen
      @Siddiskongen Před 26 dny

      @@ddrsdiego I have no issue with using primary constructors. I hate mapping DI parameters to corresponding private fields. Only thing they should fix is making the parameters read-only.

    • @santomy4579
      @santomy4579 Před 15 dny

      Can you please elaborate on which point you are referring to by timestamp.

    • @Siddiskongen
      @Siddiskongen Před 14 dny

      @@santomy4579 E.g 6:39 and 8:10