Bootcamps tend to just show students how to do things without telling them WHY, probably to save time. But by explaining things so that you understand, you save SO much time. At least 90% of time is saved by teaching properly and competently like you do.
Been coding since the 80's. Started with RPG I & RPG II and all it's evolutions until 2012 when I made the move to .NET and VB. Spent the last 8 years developing and maintaining web service linking our backend with our web presence. Now our company is shifting to MVC and C#. Both of these are new to me and these videos are just what I need. Lots of information with explanation and at a pace where I'm not constantly going back to see or hear something over and over to understand it. Looking forward to watching some more videos
I appreciate the guiding words about "the right way". As a developer with only about 4 years experience, I am constantly still learning better ways, but I find I am the most successful when I grind through the problems, teach and learn myself in the code. If I tried to do it "the best/right way" the first time, I'd never get anywhere, due to my skill level, but as I dive in and progress my skills I feel more confident that I am closer to "best practices". Thanks for your great videos!
Tim, you are amazing. I’m just now getting into the C# / WebDev scene and hope to one day land a job in this field. You have been such a great help with so many things! Thank you!
I am following you on a regular basis. The only one reason, you explain in detail, not over complicatinf the topic, and keeping everything to point. I was able to understand and apply it practically without any issues. Obviously, at times I struggle, but re-watching that certain again, helps to understand it way better than I had initially understood. 😊 So far, your tutorials are always the best in that area available amongst other sources ⭐️⭐️⭐️⭐️⭐️
The most amazing part of your channel, apart from the amazing tutorials you make, is seeing how fast VS works on your computer. You should make a guide on that subject as well 👀.
I can add that to the list. Some of it is video magic (I pause the recording during long-running tasks) but most of it is just a good development machine.
Yeah I use a gaming computer to develop on. Lots of memory and crisp visuals. The curve monitor is nice too. Only problem is I type like a maniac and my wife wakes up to the mechanical keys going a thousand clicks a second lol
I have started a course on ASP.NET and this course comes at the right time of my learning period. I have learned quite a lot from your C# subscriptions. Selaelo Makgato (South Africa)
I am following a traineeship application/software engeneering. I've had no experience in programming before I started. I started out with PHP and am now starting with C#. This video really helped me a lot in understanding what all the 'pre-written' files mean. Thank you very much! I wil defenitely see some other of your video's!
If you have not seen it already, check out this video - "Full C# Tutorial Path for Beginners and Everyone Else" (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-LUv20QxXjfw.html)
@@IAmTimCorey hi tim...when ConfigureServices method is invoked in production mode ?...is it invoked at every request coming ? Or is it invoked when user open the site on the first time from web browser and it invoked again when another user open the site ? Or is it invoked once when application is begin start in web server like IIS ?
i dont mean to be so off topic but does any of you know of a method to get back into an instagram account? I was stupid forgot my login password. I appreciate any assistance you can offer me
@Edwin Daxton thanks for your reply. I found the site through google and I'm trying it out atm. Looks like it's gonna take quite some time so I will get back to you later when my account password hopefully is recovered.
Outstanding! I was disappointed to hear you say that learning MVC was necessary, since most businesses are still 5 years behind. I've been learning the newer stuff because I did not want to go backwards in my learning path. But you speak the truth here... Reality is, I'll likely be converting a legacy MVC app with my next assignment. So I better know something about it. It's nice that you're showing some of the differences to be aware of. Thank you!
Doing this today in MVC Core 6, there is no startup.cs - was loving this until then. Got a little lost but now see that it's essentially all now covered in Program.cs - phew
I'm refreshing some (and still learning) old topics, foundational as this one. In 2023 in VSIDE2022 the workload creates a unique Program file. Trying to figure out the changes. There's a video about that. Thank you as always for your quality content Tim.
Thanks for the video. Need to quickly learn MVC for a demo I'm presenting, so this was great. I didn't even consider the options for asp.net core vs .net framework for MVC. I guess I'll learn both and see which will be the option I choose for the demo. Thanks again for the videos.
I am in the position of getting started with asp .net core for the first time and I ended up bugging out of this video half way through when I realised that I was probably better off checking out the "which asp .net core" course first so that I could understand the different types of asp .net core projects and which solution matches up best with what I want to do. So I've purchased that course instead. Onwards!
Hello Tim, great video as usual! I have a question, which I hope makes sense (English is not my first language): you said you are not a big fan of MVC. Could you explain why? And what Web Project type do you prefer over MVC? And again, why? Thanks, cheers!
Greate video Tim, really appreciate. But this surprises me that you are not a fan of MVC. Can you please share what is your favorite technology and how you will build a web application if you need to?
I outline the five project types and which is my favorite and why in this course: www.iamtimcorey.com/p/getting-started-with-aspnetcore The bottom line is that MVC was designed as the only real OOP option for the web back in the .NET Framework. Now we have options that are much quicker to build and yet still as powerful. For example, Blazor Server (my favorite for most situations) gives you the client-side responsiveness of a JavaScript UI like Angular, React, or Vue but it mixes it with the safety and protection of a server-side language like ASP.NET MVC or PHP. You get the best of both worlds, plus it is much easier to get data from C# onto the page and back in Blazor Server. Every ASP.NET Core project type has a purpose. MVC's purpose has just shrunk significantly. Now there is almost always a better option.
Before watching this video, I love to see this from your side, as I requested you this alot. :-) It will be a great video and please make more video on this topic.
I covered that in my Which ASP.NET Core course (link in the description) but I think that for a lot of cases, Blazor Server is the better option (easier, faster to developer, just as fast to run, less complicated, etc.)
Great video! I started working in .net core mvc and I think it's a great way to do things. Maybe I'm wrong but still.. I would like to see more about connecting controllers with views and getting data from database. I like using Dapper so I prefer that king of database communication.
Thanks, Tim! I so wish this video had been available 6 months ago when I started developing my first MVC Core 3.1 app. Just knowing how to create the app and some of the selections you made, and showed that were available, would have saved me tons of work. I really don't like MVC, it seems like a lot more work is required to do the simplest things compared to C# .Net web forms (which is what I've been developing in for the last 16 or so years. Looking forward to watching more of your videos on MVC Core 3.1.
Another great video. Well done sir. I'll certainly be looking at the logging videos you mention. In terms of what I would like to see next for MVC: (apologies its a list) - best practices for HttpClient - particularly how to interact with Data Models - when should you use HttpClientFactory over HttpClient - should you use private fields in conjunction with a Data Model? - request headers, I just dont get them, they're weird and convoluted, I dont like them, they should be banned under the Geneva convention... Thank you, I've learnt more from you, than I have in the 18 months of full time work as a Junior Developer! True story.
Great video. Learned a lot. Your style is great. Maybe save the 'soap box' portion for a separate video, but much learned and much enjoyed anyhow. Thank you.
That's all part of the context of the topic. Learning about the real-world use, dangers, and pitfalls is important in order to actually be equipped to take this topic and apply it to your job.
I covered that in my Which ASP.NET Core course (link in the description) but I think that for a lot of cases, Blazor Server is the better option (easier, faster to developer, just as fast to run, less complicated, etc.)
My man. You are a savage and an absolute god. I wish i could support you further but i'm broke eating noodles studying code, nam sayn. Anyway, Thx a bunch mate and keep shredding that grit, Cheers from sweden
Great video as usual Tim! You are an awesome teacher who explains every concept with such great clarity. All your videos have been a big help. Thank you ! Can you please make a video on OAuth and OAuth 2 authentication?
I'm a VB developer who hasn't built anything for the web in .net, but I code in PHP and RoR. I'm looking forward to diving into the MVC for C# ecosphere. I'm a little bummed because I'm over 40 minutes into this video and haven't seen you actually run the app.
Hang in there. Its an Intro course. Many of my viewers don't bring as much experience as you. Be sure to look at my other ,Net courses that dive much deeper.
Thanks for the suggestion. You can see this in action in the TimCo Retail Manager application (the API). I'll also do a specific video on it most likely.
Kindly please upload the video related to the data access layer how we can create and implement it and also provide a little bit of information regarding how to use identity framework with user management for example how we handle user management with roles and rights in it. Thank you.
Hi Tim! First of all, thanks for your time and for the great video. If is possible, I would like to see a tutorial on a project in which you use both Dapper for getting data and EF Core for managing data. I'm curious about see it in action and the best practices in your opinion to follow. All bests, Ivan
The TimCo Retail Manager project uses EF for the Identity database and Dapper for the "regular" data, if you want to check that out. Thanks for the suggestion.
Hi Tim, Great tutorial. I have to develop a new project which is neither small nor too big. I am confused between .Net core razor pages and .Net core MVC. Can you suggest which user interface I need to select. ? Is there something that MVC has and Razor pages does not ? I do not not want to stuck up in the mid way.
The good news is that if you pick one, you can add the other later without harm. Personally, though, I would recommend Blazor Server. It is the best of both worlds (client and server), it is fast, it is easy, and it will give you a great client experience.
If you could make a video on how to build a simple app touching on key .NET framework features from start to finish it would be super helpfull to have as an example. Also great video I learned a lot of things I was not understanding from reading Microsoft documentation.
Thanks for reaching out and regret that you are having this problem. Please email Tom at Help@IAmTimCorey.com and he can get you that file. Identify the video so he knows which one to get for you.
Dear Tim, After creating a custom controller, I noticed that all the provided properties of the model are used in the auto-generated code; e.g. in my case: public async Task Create([Bind("Birthday,ID,Username,EmailAddress")] PersonModel personModel ) I thought this would mean that if we change the code in the model class, we need to search for and effect the changes accordingly, but then I realized if I want to keep using auto-generated code, I have to do all the same steps as when I am generating it for the first time, and then when it asks if I want to replace the old code with new code, I choose yes. Is there a better way of doing this, because this would overwrite my custom code every time. Particularly, when I store data in its local database, and then I decide to change a column name or add something, this would override everything... How do I go about this situation?
Hey Tim, Thank you for the awesome video. You even partially answered a previous question I had asked surrounding ViewModels and DTO. Now I have two new questions from this video 😅 14.45 : You mention about using Identity with EF Core to store user credentials in one database and using Dapper to store the user data in a separate database. Now if we have enabled user roles through identity in our application, then will we have to do a special configuration for data access? 49.10: You speak about Email validation. Nowadays there are lot of temporary email providers which provide fake emails. You have any solution for this such as a third party to validate the email?? In the future I would like to see content about configuration of production based environments for deployment of finalized applications. BEST regards 🙂
Look at the TimCo Retail Manager series. I set up the API to have authentication as well as a SQL database for the "regular" data that I access via Dapper. I restrict access based upon roles. No special configuration necessary for the data access. I just decorate the methods with the permitted roles. As for email validation, that isn't just checking to see if an email address is formatted properly. It emails the user and makes them click a link. If they are using a temporary email, there is not much you can do. I do have videos on deploying to Azure DevOps (again, the TimCo Retail Manager does that).
I added your suggestion to the list. If speed is what you want, you may want to look at my paid courses which are more streamlined and provide other benefits like source code. IAmTimCorey.com
hi Tim, I have a few questions if you don't mind taking your time and answering them, First: how can I change the database connection string after deployment in winform application? is it even possible? second: how can we make our software notify the user if there is an update and install the new version with one click? preferably getting updates from GitHub for example like how notepad++ notify us and update it easily.
To change the connection string, you just modify the app.config or appsettings.json file where the connection string is (should be) located. As for the updates, check out my video on MSIX: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4t2TI8ImwMY.html (if you are using .NET Core) or Squirrel: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-W8Qu4qMJyh4.html
I don't mess with changing how authentication works. I will be covering Azure Active Directory B2C in a series on RU-vid soon, though, and that's even easier.
Thanks for a gr8 video! One thing though, and I´d like ur opinion on it if I am wrong, always happy to learn I think u give "Models" less credit than it should have, if the source(like SQL table that I need to read from) is changed, the model play a crucial role for making the changes in code so much easier, I don´t need to worry about changing the logic in the controller as it should always assume that the model is mapped to the source in the correct format, thus I can just alter the Model and View accordingly(to an extent) I guess what I mean to say is, if Model is not used, that part of code is just found in the "wrong" place if using MVC and it kind of defeats the purpose of the framework, and then it is a VC project(without the M) I agree that ppl should be aware that they will still quite often come in contact with code without Models though(especially in upgraded legacy code), I am only referring to anyone who means to build a new MVC project
Models in MVC are used to house UI-specific data. For example, you might get data from the database but then want to make sure that the user enters valid data into the system. You would create a UI-specific model to capture the data from the data model (DTO), then add annotations for "Required", max length, etc. You don't have to have models in MVC, there is just a provision for them (and you probably need them in most "real" cases). The idea isn't that you are forced to use them, just that they are a part of the UI. Remember that all of MVC is UI-layer. Your data access models are not part of MVC.
@@IAmTimCoreyI have seen people argue that the model is the most important thing in the MVC framework, I don´t know if I agree, I would say the three parts are equally important, but simplified in the same manner, the controller is nothing but a routing room Is it still considered MVC without the M?
since asp would be actually an UI, I'd like to see how to make rich user interface with some data related (parent and child objects) for example, and see how to read and save the data.
I miss the Web Forms... I just love all those drag-and-drop features. I know HTML and CSS enough to build the UI and position the elements/components myself, but I'd rather just drag them to the canvas and then just configure them in the Properties window or add some code-behind.
Tim, Actually, you can still use ConfigurationManager with CORE. There is a package. Only in CORE Web APP/API app.config configs used for app and web.config used fro IIS. So, you might have both. Thanks to this package, I can use same configs and (netstandard) libraries in CORE, Win services and WF apps. And I found this json config cumbersome and unintuitive,. Way easier to use Configuration Manager, sections, etc.
Yes, you can (not sure where you are referring to that I implied you can't) but just because it can access the old app.config/web.config doesn't mean you should stay on that. You want to move over to appsettings.json as you upgrade. The support for the old systems is to allow for an easier transition, as you pointed out.
I love your videos. They are simple and to the point. Well you mentioned "MVC" is still a popular framework. What do u mean by still? what else? I understand there are SOA, and Web Services etc., but what other framework you recommend for making Web Apps.
I have a course on Udemy (for now) that covers the 5 different .NET Core web project types: www.udemy.com/course/which-aspnet-core/?referralCode=668AC17A9CEDF2067E69 MVC used to be the only good solution for a testable, stable web application. With .NET Core, we got five project template types - Razor Pages, MVC, API, Blazor Server, and Blazor WebAssembly. Of the five, the most general-purpose one is Blazor Server. It is a great solution to a ton of problems.
I cover a lot of MVC in this course: www.iamtimcorey.com/p/getting-started-with-aspnetcore I may do a deeper course on it at some point. It is on the suggestion list.
"Even though it's not my favorite" got me. What is your favorite. I'm looking to move a way from WebForms in a company that is somewhat more than 5 years behind the cutting edge. What course or introductory video would you recommend?
Here is a video I did that covers the different C# web project types: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-YhojOiGjGvQ.html And here is a full course where I cover all 5 ASP.NET Core web project types, how to use each (full CRUD operations plus deployment of each), and when to use each: www.iamtimcorey.com/p/getting-started-with-aspnetcore
I have a whole series of MVC and Razor videos - ru-vid.comsearch?query=mvc%20razor As for what I prefer, I cover that in my Getting Started with ASP.NET Core course. Primarily it is Blazor Server.
Thank you Tim so much for your nice tutorial! I have a question though, is this outdated tutorial or not?! Because I'm a little bit confused about which one I should start learn with? is it .net 5 or .net6 or .net7? Plus you've said MVC is not good as Blazor?! Thank you again!
Hey Tim. Great video! Question: in theory, is it bad to have some sort of business logic on the controller? Let's say for instance, that I have a microservice that follows this MVC structure, and the controller itself has actions that map to a regular Rest API scenario, with http protocol (GetAll, Get, Post, Delete). In this example if my Post needs to be a little more than just a Post (imagine that for some performance reason, I prefer doing a Get to find out if the content already exists, before actually doing the Post), it seems that I would have to either call the Get action from this controller first, or call the underlying layer's method that my Get method from this controller calls. In your opinion, is this logic valid in the controller?