Getting Started with Dapper in .NET

Поділитися
Вставка

КОМЕНТАРІ • 46

  • @fanaccount6600
    @fanaccount6600 Місяць тому +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 Місяць тому +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 Місяць тому +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  Місяць тому +5

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

    • @jcorrify
      @jcorrify 18 днів тому +1

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

  • @Radictor44
    @Radictor44 Місяць тому +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 Місяць тому +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 Місяць тому

      Why would it need to change?

  • @mariobrazil3934
    @mariobrazil3934 Місяць тому +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 2 місяці тому +2

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

    • @amantinband
      @amantinband  2 місяці тому +5

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

    • @PatricSjoeoe
      @PatricSjoeoe Місяць тому +6

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

    • @nilscoussement
      @nilscoussement Місяць тому +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 Місяць тому +4

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

  • @ashoktandan2372
    @ashoktandan2372 29 днів тому

    why scoped for IDBConnectionFactory class?

  • @vuhoang5903
    @vuhoang5903 Місяць тому

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

  • @johnnyggun7141
    @johnnyggun7141 Місяць тому

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

  • @andihell4208
    @andihell4208 Місяць тому

    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 Місяць тому +1

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

    • @elan2199
      @elan2199 Місяць тому +1

      Both

    • @uuuummm9
      @uuuummm9 Місяць тому

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

  • @cemkaya4448
    @cemkaya4448 Місяць тому

    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  Місяць тому

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

    • @cemkaya4448
      @cemkaya4448 Місяць тому

      @@amantinband Thank you!

    • @gyanookharel7440
      @gyanookharel7440 Місяць тому

      Docker?

  • @harrisonwell1719
    @harrisonwell1719 Місяць тому

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

  • @10Totti
    @10Totti Місяць тому +1

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

    • @amantinband
      @amantinband  Місяць тому +2

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

    • @ghevisartor6005
      @ghevisartor6005 Місяць тому

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

  • @gppsoftware
    @gppsoftware Місяць тому +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 18 днів тому

      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 18 днів тому

      @@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 Місяць тому

    What vscode theme are you using?

  • @Siddiskongen
    @Siddiskongen Місяць тому

    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 27 днів тому

      Do better, don't use primary constructors

    • @Siddiskongen
      @Siddiskongen 26 днів тому

      @@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 15 днів тому

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

    • @Siddiskongen
      @Siddiskongen 14 днів тому

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