.NET 6 & EF Core 🚀 ALL Relationships (1:1, 1:n, n:n) with Entity Framework Core 6 & SQL Server

Поділитися
Вставка
  • Опубліковано 2 гру 2024

КОМЕНТАРІ •

  • @PatrickGod
    @PatrickGod  Рік тому

    🚀 Join the .NET Web Academy with a 30% discount - closing soon!
    👉 www.dotnetwebacademy.com/courses/academy?coupon=dnwas23yt

  • @azamjandali867
    @azamjandali867 2 роки тому +66

    The fact that you code and fix error live makes you an elite programming content creator!

    • @PatrickGod
      @PatrickGod  2 роки тому +4

      Thank you so much! Appreciate it! 😊

  • @oncalldev
    @oncalldev 2 роки тому +40

    Seeing the real world coding of encountering errors and troubleshooting just adds a better understanding to the overall subject matter - as was the case here. Thanks for the highly understandable & enjoyable content.

    • @PatrickGod
      @PatrickGod  2 роки тому +2

      Thank you so much Bruce, appreciate it! 😊

    • @egabrielbootcamp
      @egabrielbootcamp 2 роки тому +2

      It was interesting watching it. I just couldn't help but laugh at some point because it was so relatable :)

  • @Raziel7171
    @Raziel7171 2 роки тому +8

    You have no idea how helpful this tutorial was to me, i don't even speak english but the voice is so clear and neutral didn't needed a close captions and the errors I've been struggling lately has been solved so quick, thank you so much.

  • @SZOKE19940321
    @SZOKE19940321 Рік тому +2

    Ur the best Patrick, was googling for like 2 hours now, could not put it together, found your video, it just saved me another few hours of searching. Really helpful the live debugging from ur side. Cheers man!

    • @PatrickGod
      @PatrickGod  Рік тому +1

      Thank you so much for letting me know. Really glad I could help! 😊

  • @rankarat
    @rankarat 2 роки тому +2

    This is my 1st EF tutorial, i worked only with NoSQL DBs, thought i will give it a try, this was very fun to watch! thanks.

    • @PatrickGod
      @PatrickGod  2 роки тому +2

      Glad you enjoyed it! Thanks a lot for your feedback! 😊

  • @grumpydeveloper69
    @grumpydeveloper69 3 роки тому +8

    I like the messy style of this video and that fact that you did not prepare a lot in advance. This feels lot like how I approach things and then run into the type of problems you ran into. And... I like your cussing as well, very recognizable 🙂

    • @PatrickGod
      @PatrickGod  3 роки тому +2

      Haha, thank you so much. Yeah, that's just the way it is. Sometimes you just don't know what problems you're going to run into. Even with supposedly simple tasks. 😅

    • @tylerb6981
      @tylerb6981 3 роки тому +1

      My favourite part was when he acknowledged how much easier this process would be with the proper software architecture. It is a testament to the efficacy of the architecture, his knowledge level, and the nuances of using a framework as complex as .NET.

  • @leonnxpumper
    @leonnxpumper 2 роки тому +7

    Thank you so much for your videos!
    I can't believe how fluent and easy going are your videos. English is not my first language but your pronuntiation and your pace make it easy to understand everything.

    • @PatrickGod
      @PatrickGod  2 роки тому +1

      Happy to hear that! Thank you so much for your feedback! 😊

  • @dddanielsr
    @dddanielsr 2 роки тому

    Thank you Patrick!!! I've been struggling with EF for the last two weeks.... Now I think I see the light at the end of the tunnel... :)

  • @Don-ii4vm
    @Don-ii4vm 2 роки тому +1

    In less than a year, you've tripled your subscriber numbers.
    Well Done, Patrick.

  • @fahadsm7006
    @fahadsm7006 Рік тому +1

    Thanks!

  • @R5123
    @R5123 2 роки тому +2

    Hey really nice video Patrick! The many-to-many has tripped me up in the past so thanks for taking the time to walk through that.

    • @PatrickGod
      @PatrickGod  2 роки тому +1

      Glad it was helpful! Thanks a lot for your feedback!

  • @CreativeRosh
    @CreativeRosh 2 роки тому +1

    I love the way you doing that tutorials. You never hide error. I really appreciate that. really interesting. Pleas don't change your Style. Thank you And Good luck brother!

    • @PatrickGod
      @PatrickGod  2 роки тому

      I appreciate that! Thank you so much for your feedback! 😊

  • @oJutiz
    @oJutiz 2 роки тому +1

    I'm from Brazil and u are helping me a lot, thanks!!

  • @docris8036
    @docris8036 Рік тому

    Finally found my best problem solving video. Thank you my teacher

  • @sergkapitan2578
    @sergkapitan2578 3 місяці тому +1

    Patrick! Everything is great:) But for those who are not familiar with this framework and some other stuff it is too heavy without little more explanaitions in the first place! Is it possible for you to expand this video or create an additional tutorial for this one as forrunner:)??? That would be great help for many people as I see also greatfule dudes in the commentaries. Some basic explanaitions would also not be too much! Thank you once again for your generosity and service!!! God bless you :)

  • @marcosdalmolin357
    @marcosdalmolin357 2 роки тому +2

    Gracias por tu pronunciación! No se mucho inglés pero hablas muy pausado y eso ayuda mucho para entender lo que dices.
    Ojalá tuvieras los subs en español, pero se agradece mucho tu contenido.
    Saludos desde Argentina.

  • @АристархЗловредович

    Stumbled upon your channel by accident, great content and very clear explanations. Best regards from Azerbaijan

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thank you so much! Appreciate it! 😁

  • @rafaelgarcia2259
    @rafaelgarcia2259 2 роки тому +2

    It was tricky to fight with dotnet ef, because I had to build the solution, the project, hahaha, until it wants to do its work right (same code). But I have learned a lot from the errors, thank you to be a fighter against errors and show them and their resolution.

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thanks a lot for your feedback! Great you figured it out! 😊

    • @brentdar4568
      @brentdar4568 2 роки тому +1

      Thanks for the tip about build the solution, I was stuck for the moment there.

  • @muharremkackn2202
    @muharremkackn2202 2 роки тому +1

    Patrick, I loved learning dotnet from you!

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thank you very much! Appreciate it! ☺

  • @graynoble4795
    @graynoble4795 2 роки тому +2

    Patrick, thank you for this demo. It helps me in becoming more familiar with EF!!!! P.S. I would love to see all of those "what you should do is.... " best practices :)

  • @unkn0wnrge189
    @unkn0wnrge189 2 роки тому +1

    you are the obi wan kenobi of C# you deserve coffee so the force will be with you

  • @R5123
    @R5123 2 роки тому +1

    Lol at 33:32 "Well that was a lot of work for just creating a character" :D

  • @OleksandrRohozilnikov
    @OleksandrRohozilnikov Рік тому

    Thanks god i found you dude, awesome tutorial and btw its pretty fun to watch its because of your way to solve the issues while tutorial. Its really helps me, thanks a lot!

  • @waliqadri
    @waliqadri Рік тому +2

    Wow, I can't thank you enough for all the errors that have surfaced in this video! Believe it or not, your troubleshooting with these errors actually elevates it to premium content. Embracing imperfections while learning programming makes the journey more relatable and enjoyable. This video becomes a delightful blend of education and entertainment, showing that even experts encounter challenges. Kudos to the creator for sharing real-life problem-solving, turning it into an inspiring and insightful experience. Double-tap if you agree that this video is a gem amidst the sea of polished content! 💎🎉 #ProgrammingPassion #EmbracingMistakes #PremiumContent"

  • @alexkal820
    @alexkal820 2 роки тому

    Of course its worth a like!
    good job and thank you

  • @Gauravkumar-jm4ve
    @Gauravkumar-jm4ve 2 роки тому +1

    Nice.. thanks for sharing.. please keep doing more

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thanks a lot for your feedback!

  • @Atzentan
    @Atzentan 2 роки тому

    What an amzing tutorial!!! Thank you so much

  • @steliospapadopoulos4589
    @steliospapadopoulos4589 2 роки тому

    I was looking for a fix in those errors you encountered. I could not find any recourses on the internet and it seems like I found the fix. I am using pomelo entity framework and MySQL .I hope it will work. Many thanks and cheers to the no script tutorial!

  • @mohameddabbour6961
    @mohameddabbour6961 2 роки тому +4

    To solve that add error, Just change User property in Character model to be:
    public User? User { get; set; }
    the ? means optional

    • @Syberytowy
      @Syberytowy 2 роки тому

      it means nullable to be precise, which is quite important i think

  • @josbexerra8115
    @josbexerra8115 2 роки тому +1

    Gracias Mister Patrick......A pesar que no tiene subtítulos, se entiende....

  • @luisc1794
    @luisc1794 2 роки тому

    I was looking for this in a long time, how to do a save many to many relationships, you make it so easy. Thanks for all your hard work

  • @danijellalovic266
    @danijellalovic266 2 роки тому

    Thank you so much. This video was so easy to follow and understand.

  • @lalitkumarshahi
    @lalitkumarshahi 2 роки тому +1

    I recently started to watch your videos, liked most of them.
    Please create video on .net web api solution architecture

  • @KathyDally
    @KathyDally 2 роки тому +1

    You saved my project, I was having the same error with the foreign keys, sending the object from the client side to the API and just getting a Bad Request.
    Thanks a lot for your detail troubleshooting. =)

    • @PatrickGod
      @PatrickGod  2 роки тому

      Glad I could help! Thanks so much for your feedback! 😊

  • @modx5534
    @modx5534 2 роки тому

    Great Tutorial and I nice video-Cheatsheet ^^. I just needed a refresher in ef core and some bugfixing tips for example how to deal with the json-serialization error. Your video helped me a great deal with that. Thanks!

  • @willgale7187
    @willgale7187 2 роки тому +1

    fuuuuuck, this video is amazing! binging all your content and learning so much :)

    • @PatrickGod
      @PatrickGod  2 роки тому +1

      Thank you so much! Glad you like it! 😊

    • @willgale7187
      @willgale7187 2 роки тому

      @@PatrickGod Such quality content my friend, much appreciated

  • @suleyman8843
    @suleyman8843 2 роки тому +1

    i loved your videos. I'm learning a lot from you, thank you

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thank you so much for your feedback! Glad you like them! 😊

  • @_a_n_r_i2812
    @_a_n_r_i2812 2 роки тому +1

    Thanks Mr. God.

  • @furkanunlu5083
    @furkanunlu5083 2 роки тому +3

    Thank you so much, it was what I was looking for. Finally some beginner friendly tutorials.

    • @PatrickGod
      @PatrickGod  2 роки тому

      You're very welcome! Glad you like it. Thanks a lot for your feedback! 😊

  • @khorshedhasantutul202
    @khorshedhasantutul202 2 роки тому

    Easy to learn
    Thanks Petrick 😃

  • @waliqadri
    @waliqadri Рік тому

    Where you are getting a list of characters if you use Include("Users") right after the where() method, every users entity in each Character entity will be populated with the related data! Auto-magic-ally

  • @R5123
    @R5123 2 роки тому +1

    Also, get ready for a new energy at 58:28 :D

  • @davittonoyan6537
    @davittonoyan6537 2 роки тому +2

    Great video) Can you make video about API authentication?

  • @sergkapitan2578
    @sergkapitan2578 3 місяці тому +1

    LIke and subscription!!!!! Cab you create a video with the same content for those who are "left behind":))) For those who want to learn the framework , but still not that far!? There are many confusions, when it come to which combination of "tools" is better. Is MVC is still relevant in such a dev.? When is better "Code first"? And how to connect this with FRONTEND tool, ...specially as Angular :) Really many thanks!!!

  • @sagarmajumdar92
    @sagarmajumdar92 2 роки тому

    Hi Patrick
    Weapon has character and characterid . Character has user and userid.
    When you added a new Character you added the userid and not user but when you added the weapon you added the character and not the characterid (at 46:00) . Why is this different ?

  • @muzamilmughal-15
    @muzamilmughal-15 Рік тому +2

    I loved your approach of using DTO but that actual error could be resolved by just making it Nullable, because for making a relationship we just need the Id of that particular object, not the complete object. Because even when using DTO we are making extra round trip to DB for getting the USER against specific userId which is not essential in this particular case.

  • @01pedro02pedrinho03
    @01pedro02pedrinho03 2 роки тому +1

    Really good content, helped me a lot, thanks!!

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thank you so much for your feedback! 😄

  • @juergenriemer
    @juergenriemer 2 роки тому +1

    Nice video.. like your jokes :) .. BTW: as for the issue with saving the Character.. you could set User as nullifyable in the Character class.. this should also work

  • @بيبروفيسورفيالرياضيات-ض1ج

    thanks great video
    I want ask in 23:57
    why user is null?

  • @kapiercy11
    @kapiercy11 Рік тому

    The error that you encountered with the POST method is EXACTLY what I was dealing with after watching your CRUD with a .NET 6 Web API & Entity Framework Core 🚀 Full Course and tailoring it along the way to my use case. Post was requiring the object and I could not for the life of me determine why.

  • @GameGame-kl6bs
    @GameGame-kl6bs 3 роки тому +1

    As always valuable contents

  • @mattmsmith
    @mattmsmith 4 місяці тому

    Note: The onModelCreating is not used here explicitly. This is because a join table CharacterSkill that was implicitly created does NOT have its own unique properties. The n:n entity relationship is implicit onModelCreating. If for example, the Character that adds a skill needs to have a date or level of skill associated with him, we would explicitly add the CharacterSkill model (Composite table) with those unique properties.

  • @amgad2111
    @amgad2111 2 роки тому

    Thanks a lot for your effort with clear and clean explanation, Patrick.
    I was just wondering if you could give some guide about getting the "User" entity with List included without it being a null value and also the process of binding them so that deleting the "User" with the user controller would also delete its related "Character"s, maybe tell me about the thought process of achieving this, it would be much appreciated.

    • @PatrickGod
      @PatrickGod  2 роки тому

      Hey there! Thanks for your feedback. I think the following article might help you regarding the delete behavior in such cases: docs.microsoft.com/en-us/ef/core/saving/cascade-delete

    • @amgad2111
      @amgad2111 2 роки тому

      @@PatrickGod Thanks a lot, this is really helpful to me and I really appreciate it.
      I'll be waiting for more content from you, you're doing great.

  • @2922400
    @2922400 2 роки тому

    Thanks God !

  • @paollarce5137
    @paollarce5137 2 роки тому +1

    Do you know how can I add another field to the CharacterSkill table?

  • @sahildhingraa
    @sahildhingraa Рік тому

    Completed!

  • @Big_Dai
    @Big_Dai 2 роки тому +1

    Mr God.. where was this Swagger UI thingy configured? Came out of nowhere, seems REALLY useful, and I don't think it was configured anywhere in this video.
    Do you have any resources for it?

  • @manofqwerty
    @manofqwerty 2 роки тому +1

    Just use a Dto for the creation of a Character and you will be AOK!

  • @BhagirathMakwana-e1y
    @BhagirathMakwana-e1y 9 місяців тому

    good explaination

  • @shashimishra267
    @shashimishra267 2 роки тому +1

    Great bro

  • @cihangullu333
    @cihangullu333 2 роки тому +1

    Thank you so much.

  • @kdu97
    @kdu97 Рік тому

    Really appreciate this,thak you!

  • @richaaggarwal4165
    @richaaggarwal4165 Рік тому

    great video but i have one question the configuration code is different for .net6 and .net 7
    and can you make a detailed video on what's new in .net7

  • @Toughmenchannel
    @Toughmenchannel Рік тому

    Can you film a video to explain why there is need to Create the CreateCharacterDTO in the 1 : n relationship. ; and approach to handle the 1 object to avoid the cycle reference? those seems interesting for me. Thanks.

  • @jeremiahcubong4445
    @jeremiahcubong4445 2 роки тому +1

    Hi Patrick, Firstly I must commend your efforts, you are doing a very good job there. I was following the video, and I got stuck at the many to many relationship part. I have created a class for skills, and added the List of skills to my character class also, but when I run the ef migrate command, I only get the skills table, I do not get the combined table of skills and character. Is there something I am doing wrong?

  • @jeverydk
    @jeverydk 2 роки тому +2

    The only constructive feedback i have is that:
    1. You should have shown in code, how you added entities to your database, instead of doing it directly in the database. Else its been a great video.
    2. When you debug, mouse over the error you find and explain to problemshooting logic from what you are reading/seeing :)

    • @PatrickGod
      @PatrickGod  2 роки тому +2

      Thanks a lot for the feedback! It seems I'm too fast sometimes, in particular when I get any errors. I'll keep that in mind. 😊

    • @jeverydk
      @jeverydk 2 роки тому

      @@PatrickGod watching you problemsolve error was one of those things i learned most of.
      In generel was it so refreshing too see errors in a "tutorial" and i learned a bunch.

  • @techwithstephen
    @techwithstephen 2 роки тому +2

    Hy,really love your videos.
    Just one question: which presentation software are you using for your slides really love it.

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thanks a lot! I use "Canva" for the slides. Enjoy! 😊

  • @wahyuaryapambudi8054
    @wahyuaryapambudi8054 2 роки тому

    Mantap mang

  • @katrykonig2466
    @katrykonig2466 2 роки тому +1

    How and what would you do if both Charachter and User belong to two different assemblies ? How could you reference both sides? You fall in a Circular Dependencies !!

  • @Wada-Channel
    @Wada-Channel Рік тому

    Hi, great video! I'm a newbie. Could you please suggest if it would be a good idea to create a WinForms app that interacts with a Web API, with the possibility of developing another frontend for a mobile app if needed

  • @josbexerr5166
    @josbexerr5166 2 роки тому +1

    Gracias mister patrick se entiende a pesar que no esta activado los subtitulos :(

  • @yourlp77
    @yourlp77 2 роки тому

    Thank you so much !

  • @surprisedduck6750
    @surprisedduck6750 2 роки тому

    Do you have any videos on how I can go about actually calling my Web API from a blazor app for example?

  • @shojaedin
    @shojaedin 3 роки тому +1

    Thank you I learned alot

  • @quanghungnguyen3018
    @quanghungnguyen3018 Рік тому

    Thank a lot 🎉🎉🎉

  • @henrik3098
    @henrik3098 Рік тому

    thanks bro!

  • @sobrelaroca2701
    @sobrelaroca2701 2 роки тому

    Hi, I want to make a character update. But when I add or update a character attaching the relational objects to it (that already exists on database), the savechanges method attempts to create them into database, I don't want to create just to assign existing skills to character.

  • @Ronaldos267
    @Ronaldos267 3 роки тому +2

    Hi Patrick, thank you for the great video and for your effort. I have a question - why do we need to install SQL related packages in the from-end applications? If I create an another class library for data project then I still have to reference the data layer project in the front-end project in order to register DBContext class with the dependency services. Is there a better way of doing this?

  • @parapadirapa
    @parapadirapa 2 роки тому +3

    And why not just have a userId FK in the Character? Why are you building Models that contain both the referrenced objects (the User property within the Character) AND their ID (the UserId)? Why should the Character contain a property of the User object? Does EF require it for the FK to be created? (I don't think so, or else the UserId would be not be needed. Makes sense?). In essence, why shouldn't just the ID of the foreign object be enough?...

    • @R5123
      @R5123 2 роки тому

      I had the same question. EF uses it for the foreign key to be created. They are called "Navigation Properties." They aren't loaded unless you explicitly load the relationships in your queries of the DbContext.
      That said, I am still not sure why he couldn't save the character around the 29:00 mark when he had specified the userId. Seems strange to me that you would have to run a query to find the user before adding the character entry to the database given you are supplying a valid foreign key there.

  • @LeandroSouza-vl7cl
    @LeandroSouza-vl7cl 2 роки тому +1

    You should change the title of this video to "For beginners" because it is a really junior way to work with EF.
    For something more professional in the real world, I would suggest you use Fluent API with configurators.

  • @Velsethen
    @Velsethen 2 роки тому +1

    when talking about fighting sticks it would be staff. like jo-staff, bo-staff etc. the other accepted term is Stave. well stave is typically the plural term for many staff items, it is acceptable to use stave as both singular and plural. Some DMs i have played with refer to magic sticks as staves and fighting sticks as staffs. so really just preference in my book. Also love the Dragonlance nod.

  • @MkYentertainment
    @MkYentertainment Рік тому

    The protected override void OnModelCreating(ModelBuilder modelBuilder) method is not necessary ?

  • @ahmadrio
    @ahmadrio 2 роки тому

    terimakasih

  • @MagnusYnglov
    @MagnusYnglov Рік тому

    Hi and thanks for nice videos!
    Is it possible to debug these autogenerated code within entitity framweworks?

  • @samiullah0011
    @samiullah0011 Рік тому

    what does the return type Task, IActionResult and ActionResult do?

  • @ArthunMorgan747
    @ArthunMorgan747 Рік тому

    but how we can use this concept with angular? I know you talked about backend relationships here but how is it going to help in frontend ?

  • @Deltacasper
    @Deltacasper 2 роки тому

    I get this error with this relationship: "Introducing FOREIGN KEY constraint 'FK_Events_Users_UserId' on table 'Events' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints". How can I fix this?

  • @santosh.nextbuild
    @santosh.nextbuild 2 роки тому

    If both tables have primary key is string datatype, it is not working. why? And how do you work?

  • @CentauriDK
    @CentauriDK 2 роки тому

    Hi loved your video on Relationships.
    I found your video on the search for the exact problem you also ran into with creating a new record with the same class. You mention there should be another solution where you don’t have to create a new class CreateCharacterDto.
    Have you found a solution for that so that the same class can be used?
    Because I would really like to keep my code as clean and simple as possible.

    • @anisharavind6400
      @anisharavind6400 2 роки тому

      The users property in the characters class was non nullable.. Just make the property nullable..
      public class Character
      {
      public int Id { get; set; }
      public string Name { get; set; }
      public string RpgClass { get; set; } = "Knight";
      public User? User { get; set; }
      public int? UserId { get; set; }
      }
      This way u will be able to save a character without needing to specify a user. But I believe u should use separate classes and not entities as arguments. so better to create DTOs

  • @Cursix
    @Cursix 2 роки тому

    I have a question if u put [key] on the models does it then not work?

  • @Uzair_Anwar2299
    @Uzair_Anwar2299 2 роки тому

    Can you create a video on database first approach.

  • @mannamramakrishna4847
    @mannamramakrishna4847 2 роки тому

    Hii Sir, A Small Doubt, When to use [JsonIgnore]. And in which Class file we will use [JsonIgnore]

  • @2005bgva
    @2005bgva 2 роки тому

    Patrick thanks for this video. Could you please activate subtitles?

  • @galaxy1066
    @galaxy1066 2 роки тому

    Hello Dear Patrick, would you open automatic translate(cc)

  • @emwagner
    @emwagner 2 роки тому

    Wouldn't ICollection be faster than List?

  • @donal9914
    @donal9914 2 роки тому +1

    .NET 6 & Authentification

  • @Time21
    @Time21 2 роки тому +1

    subscribed to your newsletter and when i press the confirm button on the mail it redirects me to a 404 page. Are you aware of that issue?

    • @PatrickGod
      @PatrickGod  2 роки тому

      Thanks a lot for subscribing and for the info, Nick! I hope that's fixed with my latest landing page for the newsletter.

  • @bendesimt
    @bendesimt 2 роки тому

    Nice tutorial but it would have been really nice if you told us that we need to install Microsoft SQL express server in order for the database to work. It's kind of obvious now but I wasted a lot of time trying to understand why the database wasn't working.

  • @رضاسوگندی-ق8خ
    @رضاسوگندی-ق8خ 3 роки тому +1

    Good