Tim, thank you so much for this, your tutorial is so clear and concise. I haven't programmed in about 5 years and just getting back into it and coming from a VB desktop application background it was a bit daunting. This tutorial and your c# to SQL tutorial made things so easy to understand. Easily the best tutorials around. Cheers.
I've done half a dozen of these Blazor CRUD tutorials, and this is the first one that was clearly explained and "just enough" to get me through these early stages of learning. Thank you so much!
Awesome introduction to Blazor. I must also admit that this is one of the few video tutorials I've been fully engage with all of the way through. Thank you.
0:00 - Intro 1:22 - Creating new Blazor Server App 4:46 - Balzor Server App overview 11:08 - Counter page explained 18:15 - Counter Page Network traffic 25:00 - Fetch Data page explained 32:24 - Data Access 32:55 - Data Access: Standard Class Library with Dapper 46:59 - Data Access: Blazor App configuration and database connection string 49:02 - Data Access: New Razor Component page and display Data from database 59:30 - Data Access: Save data with data validation 1:03:52 - Data Access: Blazor UI from 1:08:25 - Data Access: Save data from form 1:13:36 - Summary and concluding remarks
TIM! Thank you! THIS IS HOW CLASSES ARE SUPPOSED TO BE TAUGHT! You have explained WHAT, WHY, and HOW. Most courses only explain what to do. Standing ovation. You are an EDUCATOR. You've got yourself a new subscriber. I also very much appreciate the throwback to the "under construction" GIF of the 90s, at 27:25. Ah, those were the days, hacking out HTML between college classes so I don't completely starve to death.
@@IAmTimCorey agreed excellent video again. Tim, is this still relevant as a good foundation for someone just getting ready for first Blazor app, or should we be looking at another/extra video. Thanks.
I am haven't coding since ASP Classic and I was huge into building applications back then. This is the best video I found so far for working with Dbs. Thank you. I have a long road ahead.
Thanks Tim, great as always. For anyone who is interested, I did a Blazor / Dapper playlist. I won't post the URL because last time I did this message didn't show. But if you search Google for Blazor Dapper CRUD you should find it under Alan Simpson. Not saying it's as good as what Tim does, he's my mentor too. But it may be worth a peek if you're interested in Dapper.
The potential of Blazor (server side and client side) in dot net Core, is the main reason I decided to return to Microsoft after many years. This is an excellent lesson, thank you sir!
@Tim Thanks for pointing out the path vs. blazor component 'disconnect' (at the 50 minute mark of the video for others)! That disconnect is exactly what gets people confused in the real world. So cheers and please keep up the great work.
I love the idea of making this kind of web apps without the need for JavaScript 🤩. There’re some topics that i find complicated and wrap my head around but you have a way to explain things that makes it like it’s simple, to me that’s a Great Teacher as always... thanks Tim, you are the best !
I haven't built web applications in a while and the world moved - wow!. It may have been 3 years since you recorded this, but this is EXACLTY what I needed to get back into this arena. Thank you.
@@IAmTimCorey Hi Tim. Thanks for all your excellent content that you put out. I was curious to know if this video is still relevant in regards to .net 7/8 or should I be looking at other more recent videos?
Yep, it mostly is. The biggest thing will be that Program.cs and Startup.cs have been collapsed into just Program.cs. I have a video covering the differences. Other than that, the rest is almost entirely still relevant.
@@IAmTimCoreyGreat stuff. Seems like nothing major then. I will definitely check out that video as well. Thank you so much for taking the time to respond sir, it is much appreciated.
One of the reasons i always shied away from .NET and C# is how hard it was to find good resources on it especially if you compare it to React for example. This is the first channel i come across that is actually making me feel excited about .NET
this guy is a fantastic teacher - subscribed! - I had ran up the demo project and thought I had it figured Tim showed many great tricks and explanations - Thanks Tim!
great video, I got little lost with the nitty gritty details toward the end, but it covered so much goodness. I watched the whole thing in one go. I can't even do that with TVs that I like.
Thank you so much for this video, I was stuck so badly and it just resolved my problem. It might have been risky for my job. It really helped me. thank you from bottom of my heart. Love from India.
I almost done a project on nodejs now I am positive about redoing in blazor... this is awsome... also I am agree that concept switch is a hard thing to deal
Thanks Tim. I've been messing with Blazor for a while (back in the preview versions) and never had very good experiences with it partly because lots of stuff changed from each preview release. This video was awesome and I learned a LOT! I've been using C# for about 10 years and still watch some of your fundamental videos and still learn stuff. Keep up the good work. I plan on subscribing to your Patreon.
I'm pretty sure you saved my neck, Tim Corey. EF Core just wasn't clicking with my application needs and I thought I was gonna get canned for sticking my neck out so far for Blazor. Turns out I just needed the right tool for the job! I can't thank you enough man.
A great tutorial to get started with Blazor. I am new to this and I got interested into learning Blazor rather than other web stack, the reason being, I have experience of C# and I want to build on top of my foundation rather than building a new foundation somewhere else.
Excelente. Mi inglés es muy malo, pero la tonalidad, claridad y simplicidad del lenguaje usado, hacen que logre entender todo. Y el contenido insuperable. Felicitaciones
The Video is great, and i really like your comment at the end, telling us to choose things on purpose. thx a million. I stardted learning blazor yesterday with your videos, and now i have my firts project running correctly. grazie
The good news is several days ago, I went through the course for hotel app and actually reworked it where instead of using razor pages, i used blazor and instead of having 2 pages for searching for rooms, it was all one page and worked great and even allowed where it can still choose easily between sql server or sqlite as well.
@@harryperales I would not mind. Not sure if i am allowed to send zip files here. If I can, then I will go ahead and do it. The only thing you will have to change is the path to a configuration file or implement the interface and choose new location plus new new implementation as well.
Have only just loaded the video so this may be mentioned at some point, but there isn't enough Blazor stuff out there right now, so thanks. Hope there are more to come from you.
@@IAmTimCorey Hey :) Thats awesome. Is there an ETA on the course? Looking at doing stuff right away, and have done some of the basic stuff already out there and have a handle on sections of stuff already, but looking to get more advanced, and also get more rounded with my knowledge. :)
Awesome video as always - I was going to dive into react but after watching this I am going to stick with Blazor based on the comments at the very end about spreading your brain too thin (paraphrase). I do embedded and also lots of data science stuff so am already packed pretty full. Thank you sir, for the video.
As always another fine tutorial you can actually follow manually, (ok, maybe for the actual database itself not, but that was easily created through VS).
Following along with this video taught me a lot! It took me quite a while as I had to figure out how to do everything from Visual Studio Code on Linux, but in the end it worked perfectly. I ended up using a postgres docker container instead of sqlserver, but the other things work just as well if not quicker in vscode with the terminal.
Very helpful and valuable as always. As Blazor is using signalr, it would be great if you can explain how to do realtime notifications. Say you receive a notification when a customer makes a new order, or a manager receives a notification that he has a pending job according to a certain workflow.
Thanks for this, it's great. Im starting out the long path of rewriting a .NET web forms app i wrote years ago. Im not a trained programmer, Infrastructure mainly, but we never get access to our devs to do internal IT apps, so I try and learn some stuff myself to do some internal work. Coming from the fairly simple .aspx and .cs world it's quite daunting jumping into these very different (for me) frameworks. You have made it just that little less daunting. This has been a great help. Thankyou.
Thanks a lot, Tim! That was EXACTLY what I was looking for to get started with an app. I wish you all the best and, of course, you have another pupil for a long time. :) Thanks again.
Tim this is just awesome. I watched this did the code then I watched it again and created notes on all steps and suggestions you have. The other blazor videos are now in my watch later. Thanks again.
Thanks, Tim, for amazing tutorials. I am waiting for a video about blazor globalization(localization) in client and server-side included data annotations. I hope you will do it.
Great video. Helped to introduce me more to Blazor and to help reinforce some SQL Server info from your fundamentals course. Could not get the source code downloaded. Was able to, on the fly, create a quick sql db for use with it. Did it without too much "peaking". lol
I'm sorry. The source code worked fine. it was the sql server part that was not working right. Sql server is a new way of thinking for me. The last database manager I used was dBase 3, which sadly shows my age. lol
This is an awesome introduction to Blazor. Thank you for the pet talk at the end. This is really a game-changer for me because I'm better at C# than JavaScript. My pet peeve is that MS name the extension .razor. Why not blazor to avoid confusion?
Blazor gets me seriously excited at the possibilities for us .NET developers. Thanks for the great introduction and I look forward to future videos exploring Blazor. P.S. that Razor confusion is almost too hard to believe... You couldn't make that up. 😂
47:45 Not sure if you're reading this since the video is kinda old, but if transient means that it will create an instance every time we ask for it, why would we want to make the SqlDataAccess-Service transient as well? Wouldn't it make more sense to make the SqlDataAccess Singleton like the WeatherForecastService to prevent concurrent accesses on the same sql table (here the People-Table) from multiple SqlDataAccess-Objects for example? Also for 53:38, if you press CTRL+K, then CTRL+D it will automatically indent the entire file corretly again without needing to get to the mouse and mark any text
It has been a while since I reviewed this code, but as long as the methods in the class do not store any data in the class and as long as the class itself does not store any state data, it would be fine to make it a Scoped (one instance per caller). I would probably avoid Singleton in the real world just in case someone ever updated the class to have any type of data storage. For instance, I've updated a class like that to have methods to create a transaction, where the transaction lived through more than one call. That would require a Transient, but if I forgot, a Scoped would at least prevent me from allowing data to cross security boundaries. Note, though, that having a Singleton would not prevent multiple calls to the same table. Yep, that formatting option is nice. I believe that it was not yet working properly for Blazor when I made this video, but I am not sure.
Excellent video. I did just learn that if you create a new class in 'MyPages' that has the same name (dots included ) with a .cs extension then vs knows to add it as a code behind file. (People.razor.cs for instance). The convention I've seen is to rename the class by putting a 'Code' suffix at the end and then you just have to add '@inherits *class name*' at top of the blazor page (@inherits PeopleCode for example given).
I love using dapper. I have watched this video many times and after numerous retries I have built a blazor app using the sakila database on mysql using vscode/vim and dotnet command line running on Fedora Core 31. So far it's working great. Again, thanks.
As soon as you said use underscored in C# I had to turn off. Nowhere in the .NET naming standards do you use underscores. Some choose to use it to mean private for fields and such, but that isn't necessary either. As Joel and Uncle Bob would say, underscores are just noise. That said, this is the first video of yours I have come across, and I like the style, pacing, and explanation detail. Great resource!
The underscore is a pretty common identifier in C# to indicate a private backing field or variable from dependency injection. By using it, you are indicating that this field is one you should not modify directly (unlike a private variable, which can be modified directly). The underscore communicates something. It isn't just a throwaway character.
@@IAmTimCorey I understand your point. But the reason it exists at all is because before intellisense type technologies, the underscore was the only way to let a developer know the intent. That is no longer necessary, as you can just hover over any item and it will tell you what it is, if you already can't tell. But regardless... good stuff you got here :)
Excellent tutorial Tim. As you suggested, learning Blazor now. its too good. Do you have any example of consuming REST API in Blazor app.? In this tutorial Dapper is used. It would be great if you can show how to use REST API to get and set data.
I show how to consume an API in my Blazor WebAssembly demo in the Getting Started with ASP.NET Core course: www.iamtimcorey.com/p/getting-started-with-aspnetcore
I just loved it. A very good video to start and kept me really engaged for the whole session. Would like to have some info on how did you pass parameters in your SQL if you have to.
I did that in the video. For instance, the spUser_Get query takes in an Id. When I created the C# code to call that stored procedure, we passed in an anonymous object with the Id. That's all you have to do to pass data in through a parameter.
Tim, Great video!! Do you have a video explaining how DI for IConfiguration works in your DataAccess Class? I am missing the piece where we tell the runtime to grab the IConfiguration from the appsettings and inject it into the ctor...... That being said, I am guessing the AddTransient() actually interrogates types and grabs the IConfiguration dependency when the ctor gets called?
IConfiguration is already added by default to dependency injection (see this video for more info: th-cam.com/video/_2_qksdQKCE/w-d-xo.html ). So when DI goes to construct the data access class, it sees that the constructor takes in an IConfiguration object, it looks in the DI container to see if there is an item that matches that request. There is so it injects the value into the constructor. I will be going into more depth on dependency injection in .NET Core at some point.
@@IAmTimCorey Thanks for the thorough answer!! I thought it was something like "built-in already .... you get it for free". I have used Ninject in the past (4 years ago) and you pretty much had to configure it all. This new DI in Core looks really nice...I will watch the video you have on DI :)
I have a whole course on that: www.iamtimcorey.com/p/getting-started-with-aspnetcore Blazor Server is actually a part of ASP.NET Core. If you only learn one of the five project types, Blazor Server is probably the best choice. However, you should really learn all five types at least at the basic level (which that course helps you do) since they are all intertwined.
Hello Tim, I have tried to follow you on this video, and it is quite amazing. I would love to take one of your courses. You may have probably written many books, however, I think you should write a book on the server side technology. Meanwhile, I plan to take one of your courses. I will definitely check your link. Thanks for your lessons. You are definitely going to make this world a better place by your lessons.
Nice tutorial, but please do not skip heading levels! h1->h2 not h1->h4. You can easily change the style of an H2 (especially with bootstrap), but skipping heading levels is bad for accessibility. Keep up the great work!
Tim, Thank you so much for your tutorial! I'm about halfway through but I've run into what I assume to be a nubee issue. When I create the class AqlDataAccess, I'm able to type in the Iconfiguration, but then when I press Ctrl ., i get a small window saying Change signatures. I'm sure it's something to do with how I have Visual studio set up. Any suggestions?
Thank you very much for this post. If I were to edit the data directly over the database, would the frontend get the alteration of data without refreshing ?
Thank you Tim..!u always make coding easy.ur contents are great real tutorials. can you explain how to retrieve certain value from one component to other component( like some id to the other component and want to pass thru the function that stores to the database.. and how to get value to the blazored modal commponent. would be helpful if u explain it. thank you!
since I started as "Junior Developer" ,you're my Great Teacher ,Many Thanks Tim 🙂
You are welcome.
Great introduction to Blazor Server-Side and one of the best "how-to" programming tutorials I've watched - clear, understandable and to the point.
Thank you!
After 10 Years I have resumed my work... Your tutorials helped me a lot to get all through again... Thank You Soo Much.. God Bless You .. :-)
Thanks for looking to Tim when you needed the help.
Tim, thank you so much for this, your tutorial is so clear and concise. I haven't programmed in about 5 years and just getting back into it and coming from a VB desktop application background it was a bit daunting. This tutorial and your c# to SQL tutorial made things so easy to understand. Easily the best tutorials around. Cheers.
Excellent! I am glad it was so helpful.
I've done half a dozen of these Blazor CRUD tutorials, and this is the first one that was clearly explained and "just enough" to get me through these early stages of learning. Thank you so much!
You are welcome.
Exactly!
Awesome introduction to Blazor. I must also admit that this is one of the few video tutorials I've been fully engage with all of the way through. Thank you.
Great to hear!
0:00 - Intro
1:22 - Creating new Blazor Server App
4:46 - Balzor Server App overview
11:08 - Counter page explained
18:15 - Counter Page Network traffic
25:00 - Fetch Data page explained
32:24 - Data Access
32:55 - Data Access: Standard Class Library with Dapper
46:59 - Data Access: Blazor App configuration and database connection string
49:02 - Data Access: New Razor Component page and display Data from database
59:30 - Data Access: Save data with data validation
1:03:52 - Data Access: Blazor UI from
1:08:25 - Data Access: Save data from form
1:13:36 - Summary and concluding remarks
Thank you kind sir!
@@IAmTimCorey typo: Balzor
TIM! Thank you! THIS IS HOW CLASSES ARE SUPPOSED TO BE TAUGHT! You have explained WHAT, WHY, and HOW. Most courses only explain what to do. Standing ovation. You are an EDUCATOR. You've got yourself a new subscriber.
I also very much appreciate the throwback to the "under construction" GIF of the 90s, at 27:25. Ah, those were the days, hacking out HTML between college classes so I don't completely starve to death.
I'm glad you enjoyed it.
@@IAmTimCorey agreed excellent video again. Tim, is this still relevant as a good foundation for someone just getting ready for first Blazor app, or should we be looking at another/extra video. Thanks.
I am haven't coding since ASP Classic and I was huge into building applications back then. This is the best video I found so far for working with Dbs. Thank you. I have a long road ahead.
You are welcome.
Thanks Tim, great as always. For anyone who is interested, I did a Blazor / Dapper playlist. I won't post the URL because last time I did this message didn't show. But if you search Google for Blazor Dapper CRUD you should find it under Alan Simpson. Not saying it's as good as what Tim does, he's my mentor too. But it may be worth a peek if you're interested in Dapper.
Thanks for sharing.
The potential of Blazor (server side and client side) in dot net Core, is the main reason I decided to return to Microsoft after many years.
This is an excellent lesson, thank you sir!
Awesome!
@Tim Thanks for pointing out the path vs. blazor component 'disconnect' (at the 50 minute mark of the video for others)! That disconnect is exactly what gets people confused in the real world.
So cheers and please keep up the great work.
You are most welcome.
This is the most valuable content I had found during my searching journey.
من أفضل الفيديوهات التعليمية في هذا الفرع
I am glad it was so helpful.
I love the idea of making this kind of web apps without the need for JavaScript 🤩. There’re some topics that i find complicated and wrap my head around but you have a way to explain things that makes it like it’s simple, to me that’s a Great Teacher as always... thanks Tim, you are the best !
Thank you for sharing.
I haven't built web applications in a while and the world moved - wow!. It may have been 3 years since you recorded this, but this is EXACLTY what I needed to get back into this arena. Thank you.
That's great!
@@IAmTimCorey Hi Tim. Thanks for all your excellent content that you put out. I was curious to know if this video is still relevant in regards to .net 7/8 or should I be looking at other more recent videos?
Yep, it mostly is. The biggest thing will be that Program.cs and Startup.cs have been collapsed into just Program.cs. I have a video covering the differences. Other than that, the rest is almost entirely still relevant.
@@IAmTimCoreyGreat stuff. Seems like nothing major then. I will definitely check out that video as well. Thank you so much for taking the time to respond sir, it is much appreciated.
It's a ton of information wrapped in a 1-hour video, but I have learned a lot. Need to watch it again and code along to really learn.
Glad it was helpful!
One of the reasons i always shied away from .NET and C# is how hard it was to find good resources on it especially if you compare it to React for example. This is the first channel i come across that is actually making me feel excited about .NET
Awesome! I'm glad.
this guy is a fantastic teacher - subscribed! - I had ran up the demo project and thought I had it figured Tim showed many great tricks and explanations - Thanks Tim!
great video, I got little lost with the nitty gritty details toward the end, but it covered so much goodness. I watched the whole thing in one go. I can't even do that with TVs that I like.
I'm glad you liked it.
Thank you so much for this video, I was stuck so badly and it just resolved my problem. It might have been risky for my job. It really helped me. thank you from bottom of my heart. Love from India.
Awesome! I’m glad it was helpful.
I almost done a project on nodejs now I am positive about redoing in blazor... this is awsome... also I am agree that concept switch is a hard thing to deal
Great!
Thanks Tim. I've been messing with Blazor for a while (back in the preview versions) and never had very good experiences with it partly because lots of stuff changed from each preview release. This video was awesome and I learned a LOT! I've been using C# for about 10 years and still watch some of your fundamental videos and still learn stuff. Keep up the good work. I plan on subscribing to your Patreon.
I'm glad my content has been so helpful.
I'm pretty sure you saved my neck, Tim Corey. EF Core just wasn't clicking with my application needs and I thought I was gonna get canned for sticking my neck out so far for Blazor. Turns out I just needed the right tool for the job! I can't thank you enough man.
Excellent!
You sir help this world become a better place. I appreciate your effort. Thank you for this lesson, and for helping us!
You are welcome.
A great tutorial to get started with Blazor. I am new to this and I got interested into learning Blazor rather than other web stack, the reason being, I have experience of C# and I want to build on top of my foundation rather than building a new foundation somewhere else.
That's a good plan.
Long time developer tying to catch up and move ahead after some years of disability, this is great.
Thank you
Excelente. Mi inglés es muy malo, pero la tonalidad, claridad y simplicidad del lenguaje usado, hacen que logre entender todo. Y el contenido insuperable. Felicitaciones
Awesome! I am glad my content is clear and helpful.
The Video is great, and i really like your comment at the end, telling us to choose things on purpose. thx a million. I stardted learning blazor yesterday with your videos, and now i have my firts project running correctly. grazie
Glad it was helpful!
I am new to Blazor and using SQL and man, I have to say, you NAILED this video! Thank you for such great content!!!! Very well done!
Awesome! Thank you!
"MinLength for the FirstName is 5" - a guy named Tim
lol
This is by far the best 'real-world' Blazor tutorial I have seen. Great work Tim.
Will you be doing a client-side video as we get closer to launch ?
Thanks! And yes, I will.
Phenomenal tutorial! Learned a ton watching this. Thanks for the great upload!
Thank you!
The good news is several days ago, I went through the course for hotel app and actually reworked it where instead of using razor pages, i used blazor and instead of having 2 pages for searching for rooms, it was all one page and worked great and even allowed where it can still choose easily between sql server or sqlite as well.
Awesome!
would you mind sharing the code, would love to have more resources i can use for study.
@@harryperales I would not mind. Not sure if i am allowed to send zip files here. If I can, then I will go ahead and do it. The only thing you will have to change is the path to a configuration file or implement the interface and choose new location plus new new implementation as well.
Have only just loaded the video so this may be mentioned at some point, but there isn't enough Blazor stuff out there right now, so thanks. Hope there are more to come from you.
There is, including a whole course.
@@IAmTimCorey Hey :) Thats awesome. Is there an ETA on the course? Looking at doing stuff right away, and have done some of the basic stuff already out there and have a handle on sections of stuff already, but looking to get more advanced, and also get more rounded with my knowledge. :)
You can separate code from page. Clean and clear tutorial tnx!
You are welcome.
Awesome video as always - I was going to dive into react but after watching this I am going to stick with Blazor based on the comments at the very end about spreading your brain too thin (paraphrase). I do embedded and also lots of data science stuff so am already packed pretty full. Thank you sir, for the video.
You are welcome.
Hi Tim. Absolutely fantastic course, especially the details and the steps that you follow are great.
Thank you!
nice video Tim, I never believe you can do a great Intro in 1 hour and 20 mins. Thanks Tim.
Thanks!
As always another fine tutorial you can actually follow manually, (ok, maybe for the actual database itself not, but that was easily created through VS).
Thanks for building your skills with Tim
Following along with this video taught me a lot! It took me quite a while as I had to figure out how to do everything from Visual Studio Code on Linux, but in the end it worked perfectly. I ended up using a postgres docker container instead of sqlserver, but the other things work just as well if not quicker in vscode with the terminal.
Great!
Please do more Blazor videos! The two you have done so far is great.....but i want more :-)
They are coming, including a start to finish course that uses them.
Very helpful and valuable as always. As Blazor is using signalr, it would be great if you can explain how to do realtime notifications.
Say you receive a notification when a customer makes a new order, or a manager receives a notification that he has a pending job according to a certain workflow.
I will add it to the list. Thanks for the suggestion.
I keep coming back to this tutorial. You are an excelent teacher! Thank you so much!
I am glad it was helpful!
Overall your content is brilliant. Definitely a must for all newcomers to the technologies you discuss.👍🏾
Thanks!
Thanks for this, it's great. Im starting out the long path of rewriting a .NET web forms app i wrote years ago. Im not a trained programmer, Infrastructure mainly, but we never get access to our devs to do internal IT apps, so I try and learn some stuff myself to do some internal work. Coming from the fairly simple .aspx and .cs world it's quite daunting jumping into these very different (for me) frameworks. You have made it just that little less daunting. This has been a great help. Thankyou.
Glad it was helpful!
Really sir, very good structural info you describe in this video :)
Thank you!
Thanks a lot, Tim! That was EXACTLY what I was looking for to get started with an app. I wish you all the best and, of course, you have another pupil for a long time. :) Thanks again.
Glad it was helpful!
Tim this is just awesome. I watched this did the code then I watched it again and created notes on all steps and suggestions you have. The other blazor videos are now in my watch later. Thanks again.
Excellent! That’s a great way to learn.
Thank you for brilliant tutorials. English is not my native, but i understand you explanations like it is)
Glad to hear that!
Thanks, Tim, for amazing tutorials. I am waiting for a video about blazor globalization(localization) in client and server-side included data annotations. I hope you will do it.
I will add it to the list. Thanks for the suggestion.
@@IAmTimCorey I will love that too. A video about blazor globalization(localization)
Great demo today. Just what I needed. Been trying to find a good blazor server side demo that wasn't completely EF centric.
I am glad you found it valuable.
Your C# videos have been immensely helpful, thank you!
You are welcome.
Great video. Helped to introduce me more to Blazor and to help reinforce some SQL Server info from your fundamentals course. Could not get the source code downloaded. Was able to, on the fly, create a quick sql db for use with it. Did it without too much "peaking". lol
If you can't get the source code, you can always email me at tim@iamtimcorey.com and I can send it to you.
I'm sorry. The source code worked fine. it was the sql server part that was not working right. Sql server is a new way of thinking for me. The last database manager I used was dBase 3, which sadly shows my age. lol
Tim you gave me a great idea for my reporting project by using Blazor
Awesome!
This is an awesome introduction to Blazor. Thank you for the pet talk at the end. This is really a game-changer for me because I'm better at C# than JavaScript. My pet peeve
is that MS name the extension .razor. Why not blazor to avoid confusion?
I think they reused items but I agree.
Ima wathing thes for second time - a lot of good structured information, well done!
Thank you!
Happy birthday Tim. Thanks for all you do
Thank you!
What I found out from this video:
-Blazor, game changer,
-Tims videos, life changers
Thank you. I'm glad it was helpful.
My first blazor video. Wonderful, thanks a lot.
You're very welcome!
I listen at 0.5 speed because I like learning Blazor from a drunk guy
lol
I just did it lool
omg.. That worked for me too . lol
😂
Lol, I'm crying right now...
Thanks for the excellent course.
It would be nice to put some chat app with an explanation, it would be interesting to most web app developers.
I will add it to the list. Thanks for the suggestion.
Great suggestion! Topic added to the list.
Very nice indeed! Refused to watch any other tutorial on Blazor unless it was you or Kudenvat (you are first). Thanks Tim!
You are welcome.
You are as good as they come! Thank you for what you do.
You are welcome.
Blazor gets me seriously excited at the possibilities for us .NET developers. Thanks for the great introduction and I look forward to future videos exploring Blazor.
P.S. that Razor confusion is almost too hard to believe... You couldn't make that up. 😂
Yeah, it really is exciting.
Cory, you just got me interested in web development with c#. Learning angular n react felt like a pain but this is cool
Awesome!
This was the best intro on Blazor. I loved it. Thanks Tim.
You're welcome!
Thank you Tim for the very, very helpful video. There is no such good tutorial in the Russian c# youtube community for me.
I am glad this was helpful.
47:45 Not sure if you're reading this since the video is kinda old, but if transient means that it will create an instance every time we ask for it, why would we want to make the SqlDataAccess-Service transient as well? Wouldn't it make more sense to make the SqlDataAccess Singleton like the WeatherForecastService to prevent concurrent accesses on the same sql table (here the People-Table) from multiple SqlDataAccess-Objects for example?
Also for 53:38, if you press CTRL+K, then CTRL+D it will automatically indent the entire file corretly again without needing to get to the mouse and mark any text
It has been a while since I reviewed this code, but as long as the methods in the class do not store any data in the class and as long as the class itself does not store any state data, it would be fine to make it a Scoped (one instance per caller). I would probably avoid Singleton in the real world just in case someone ever updated the class to have any type of data storage. For instance, I've updated a class like that to have methods to create a transaction, where the transaction lived through more than one call. That would require a Transient, but if I forgot, a Scoped would at least prevent me from allowing data to cross security boundaries.
Note, though, that having a Singleton would not prevent multiple calls to the same table.
Yep, that formatting option is nice. I believe that it was not yet working properly for Blazor when I made this video, but I am not sure.
I love this tutorial. Thank you for that. I just noticed Blazor Server in some of your other videos and I really liked it instead of MVC
Glad I could help!
@@IAmTimCorey maybe you could do a short video of Blazor Server vs WebForms comparison? I noticed that WebForms is somehow similar
Excellent video. I did just learn that if you create a new class in 'MyPages' that has the same name (dots included ) with a .cs extension then vs knows to add it as a code behind file. (People.razor.cs for instance). The convention I've seen is to rename the class by putting a 'Code' suffix at the end and then you just have to add '@inherits *class name*' at top of the blazor page (@inherits PeopleCode for example given).
Yeah, I'm going to give that a try and see how I like it.
Great demo Tim. Wrapping my head around it. Thanks again.
You are welcome.
I love using dapper. I have watched this video many times and after numerous retries I have built a blazor app using the sakila database on mysql using vscode/vim and dotnet command line running on Fedora Core 31. So far it's working great. Again, thanks.
Good starter tutorial. Thank you. I have a lot to learn. :)
You are welcome.
As soon as you said use underscored in C# I had to turn off. Nowhere in the .NET naming standards do you use underscores. Some choose to use it to mean private for fields and such, but that isn't necessary either. As Joel and Uncle Bob would say, underscores are just noise.
That said, this is the first video of yours I have come across, and I like the style, pacing, and explanation detail. Great resource!
The underscore is a pretty common identifier in C# to indicate a private backing field or variable from dependency injection. By using it, you are indicating that this field is one you should not modify directly (unlike a private variable, which can be modified directly). The underscore communicates something. It isn't just a throwaway character.
@@IAmTimCorey I understand your point. But the reason it exists at all is because before intellisense type technologies, the underscore was the only way to let a developer know the intent. That is no longer necessary, as you can just hover over any item and it will tell you what it is, if you already can't tell.
But regardless... good stuff you got here :)
THANK YOU SO MUCH!! I was able to code along with you in a project that I am working on. Incredibly helpful!!
Fantastic!
Great tutorial !!! Thanks for uploading this video. Thank You
You are welcome!
Great video Tim! Do you plan on making a video for a client side blazor app? (Now that webassembly is production ready)
I do, and very soon.
Great work again Tim. Excellent tutorial. Now looking to start a Blazor project.
Thank you! Best wishes on your project.
Thank you so much! I've learned many things from you, sir Tim.
Thanks for trusting Tim when you need training.
Love it, so simple. The course paid off.
Thanks for watching!
Excellent tutorial Tim. As you suggested, learning Blazor now. its too good. Do you have any example of consuming REST API in Blazor app.? In this tutorial Dapper is used. It would be great if you can show how to use REST API to get and set data.
I show how to consume an API in my Blazor WebAssembly demo in the Getting Started with ASP.NET Core course: www.iamtimcorey.com/p/getting-started-with-aspnetcore
The undisputed best tim corey
Thank you!
Great breakdown of Blazor's structure ! Thanks
You are welcome.
I just loved it. A very good video to start and kept me really engaged for the whole session. Would like to have some info on how did you pass parameters in your SQL if you have to.
I did that in the video. For instance, the spUser_Get query takes in an Id. When I created the C# code to call that stored procedure, we passed in an anonymous object with the Id. That's all you have to do to pass data in through a parameter.
@@IAmTimCorey Hey, I did not find this "spUser_Get" in the code. I even checked from your source code. What am I missing?
Tim, Great video!! Do you have a video explaining how DI for IConfiguration works in your DataAccess Class? I am missing the piece where we tell the runtime to grab the IConfiguration from the appsettings and inject it into the ctor...... That being said, I am guessing the AddTransient() actually interrogates types and grabs the IConfiguration dependency when the ctor gets called?
IConfiguration is already added by default to dependency injection (see this video for more info: th-cam.com/video/_2_qksdQKCE/w-d-xo.html ). So when DI goes to construct the data access class, it sees that the constructor takes in an IConfiguration object, it looks in the DI container to see if there is an item that matches that request. There is so it injects the value into the constructor. I will be going into more depth on dependency injection in .NET Core at some point.
@@IAmTimCorey Thanks for the thorough answer!! I thought it was something like "built-in already .... you get it for free". I have used Ninject in the past (4 years ago) and you pretty much had to configure it all. This new DI in Core looks really nice...I will watch the video you have on DI :)
Very well laid out Tim. Love your videos! Question: "Ctrl + .' didnt work for me when modifying the Navlink class. Am I missing something?
That can be tricky when you have a mixed environment like that. It doesn't always work.
Wonderful. Very helpful. Thank you.
You are welcome.
Great tutorial video. one of the best tutorials I've watched...it is so easy to understand.
I am glad you found it useful.
Super tutorial, Tim! Very easy and I'm a fan of yours now 😊😊
Happy to hear that!
Dev question suggestion! Blazor Server vs ASP.NET Core (which to learn, which to use for production purposes) :)
I have a whole course on that: www.iamtimcorey.com/p/getting-started-with-aspnetcore
Blazor Server is actually a part of ASP.NET Core. If you only learn one of the five project types, Blazor Server is probably the best choice. However, you should really learn all five types at least at the basic level (which that course helps you do) since they are all intertwined.
You should include ASP in your title. Uninitiated / beginners might not find this video when looking for ASP-based tuts.
Thanks, Pure Gold!
You are welcome.
Thank you so much Tim. Great introduction to Blazor server side.
You are welcome.
Hello Tim, I have tried to follow you on this video, and it is quite amazing. I would love to take one of your courses. You may have probably written many books, however, I think you should write a book on the server side technology. Meanwhile, I plan to take one of your courses. I will definitely check your link. Thanks for your lessons. You are definitely going to make this world a better place by your lessons.
Thanks for the suggestion.
Very good tutorial. Is there anything about generic repository with Dapper for Blazor ?
Nice tutorial, but please do not skip heading levels! h1->h2 not h1->h4. You can easily change the style of an H2 (especially with bootstrap), but skipping heading levels is bad for accessibility. Keep up the great work!
Good point.
Tim, Thank you so much for your tutorial! I'm about halfway through but I've run into what I assume to be a nubee issue.
When I create the class AqlDataAccess, I'm able to type in the Iconfiguration, but then when I press Ctrl ., i get a small window saying Change signatures. I'm sure it's something to do with how I have Visual studio set up. Any suggestions?
I'm having the same issues, was it the way you had Visual Studio setup?
Thank you very much for this post. If I were to edit the data directly over the database, would the frontend
get the alteration of data without refreshing ?
best channel ever thank you sir
You are welcome.
Thank you Tim..!u always make coding easy.ur contents are great real tutorials.
can you explain how to retrieve certain value from one component to other component( like some id to the other component and want to pass thru the function that stores to the database.. and how to get value to the blazored modal commponent. would be helpful if u explain it.
thank you!
I'll add that to the suggestion list. I do cover it in the Blazor Server In Depth course but I haven't yet on TH-cam.
@@IAmTimCorey Thank you Tim! looking forward to that.
You have great teaching skills! Thank you!
You're very welcome!