Introduction to ASP.NET Core MVC in C# plus LOTS of Tips
Vložit
- čas přidán 19. 06. 2024
- ASP.NET MVC is still one of the most popular web frameworks for C#. So what has changed in the .NET Core version? In this video, I am going to walk you through how MVC is set up, how authentication works, and how it is different from the .NET Framework version of MVC.
Which ASP.NET Core course is now Getting Started with ASP.NET Core*: www.iamtimcorey.com/p/getting...
Mailing List: signup.iamtimcorey.com
Source Code: leadmagnets.app/?Resource=MVC...
* The Which ASP.NET Core course is no longer sold on Udemy. It has been updated, renamed, and is now sold on my site with the rest of the courses.
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.
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 ⭐️⭐️⭐️⭐️⭐️
19:11 "The real world is not a demo" - real words of wisdom right there
Thanks.
Thank you for spending time on getting into the configuration settings and not just jumping into the MVC pattern information. Great content. Subbed!
You're very welcome!
This is an amazing video. Thank you for the concise introduction. This kind of clarity really goes a very long way.
Glad it was helpful!
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!
Thanks for trusting Tim to help build your skills.
Hi travis, Did you begin C#
Tim always has the best tuts! Voice is calming and his videos are presented so perfectly!
Thank you!
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!
You are welcome.
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)
Great!
Found your channel today, great source of information ranging from for people who are beginners to graduates. Thank you for all the good work :)
You are most welcome. Thanks for watching.
Finally!! Thanks Tim, Need more videos on this😊
You are welcome.
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" (czcams.com/video/LUv20QxXjfw/video.html)
Thanks for the presentation, it is very clear, focused and educational. Waiting for next part.
Glad you liked it!
Brief introduction to Asp.net core. Thank you. I was finding this type of tutorial.
Glad it was helpful!
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
how is the industry going?
I am glad my content has been helpful.
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.
Thanks for your vote.
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
Good tutorial, very well explained.
Keep up the good work.
Thank you!
You are welcome.
Excellent video! Great advices! Thank you very much for your videos!
Glad you like them!
Thx for this Video!!
All your Videos and Information are great stuff!!
Thanks for it!
You are welcome.
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?
Thanks for the recommendation. I have added it to Tim's list of viewer suggestions for videos.
Great Video. yes, I would like more videos for the topic of two different tables, one for identity, thanks
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.
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.
You are welcome. And if you are learning either way, I would highly recommend ASP.NET Core MVC.
He explains everything so well, really nice.
Thank you.
@@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
@Kelvin Patrick instablaster =)
@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.
Good job! Thanks for the video. Greetings from Poland
You are welcome.
Tim, great tutorial, thank you very much.
Very welcome
thank so much for explaining the mvc application. So helpful for me to start learning.
Glad it was helpful!
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.
I will add it to the list. Thanks for the suggestion.
You have explained it very nicely. Thanks.
You are most welcome
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!
Thank you for re-enforcing the real world experiences here.
Great videos. Now everythink is more clear. More MVC tutorial, please
Thanks, will do!
Very in-depth video explaining ASP.NET CORE, appreciate it and had to subscribe
Welcome aboard!
Great video Tim! I'd like to see more information about data access with MVC
I will add it to the list. Thanks for the suggestion.
it was really interesting as always. Спасибо very much
Glad you enjoyed it!
Liked and subscribed because the instruction is clear, paced well and concise.
Excellent! Welcome aboard.
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.
You are welcome.
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.
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
Here is a video showing you how to adjust to no Startup.cs: czcams.com/video/vdhFw1VSowg/video.html
Appreciate your efforts Tim!
My pleasure!
Love your explanation
Thank u so much
You are welcome.
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.
Great!
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.
Thanks a lot man, now I'am ready to develop my first app!
Awesome!
Thanks sir, Really a Great video.
You are most welcome
Thanks a lot. Good video to start with.
You are welcome.
Great video Tim, I'd like to see how to run API alongside MVC, in one project. So that a mobile app can call webservices from the application.
You got it! Added to my suggestion list.
Worth to watch .... Thanks Tim...
Thanks
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?
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
I am glad my content has been helpful. No worries about not buying something. My goal is to help even more people like you.
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.
Great vid - I'm pretty sure I'll be paying for your courses 👍
Thank you!
Great video - like the style - Any chance of Authentication and Identity?
I'd like this too
I'd also like this. This would make a nice Udemy course :)
I can add this to the suggestion list.
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.
Thanks for the suggestions. When it comes to HttpClient, here you go: czcams.com/video/cwgck1k0YKU/video.html
@@IAmTimCorey thanks for the suggestion. Currently watching with my breakfast 🤓
You are a great master!
Thank you very much!
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!
I know you're question is a year old, but I'd love to see an answer to this one as well. Makes me wonder if I'm wasting my time.
5/19/22, 10:25 a.m.
Nice job Tim!
Thanks!
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!
Great! I think you will get a ton of value out of it.
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?
Amazing 🌷 🤣 Thank you... keep going
You are welcome.
Great video, thanks. You said MVC is not your favorite asp net option, I am curious what you favorite option is.
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.)
Thank you mr Corey once again for the awesome content you provide us. Can you probably do a WinForms video aswell?
most of legacy code i see in companies are still using WinForms and ADO.NET. This could be usefull to anyone.
In .NET Core? I've done a whole series using WinForms (the C# Application from Start to Finish course) using the .NET Framework.
@@IAmTimCorey didn't know that. I will sure check this out, thanks!
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!
Thank you for the video, I really enjoyed it. The total new part for me, when you almost extracted the Identity view pages with the Scaffolding. I have done it on my side, now I see the views, I can customize them. Does it possible to extract the controller c# codes as well? I would like to learn from that codes and extend in some cases. Does the extraction possible?
Where is the database created? It appears to be created automatically somewhere but it's not in any folder nor is it in my SQL Server.
very helpful for beginners
Please consider viewing my video to help you plan your learning path - czcams.com/video/LUv20QxXjfw/video.html
@IamTimCorey one more great video!!! Where I can find the video/s about logging?
The first three videos here will help: czcams.com/users/IAmTimCoreysearch?query=logging
I'd love a short tutorial on how to switch from thinking in MVC .Net Framework to thinking in MVC .Net Core.
Glad to hear it
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.
Hi Tim, I was just wondering if you plan making a video on authentication(windows, api...) in .Net Core (blazor,Mvc...)?
It is on the list. Not sure when I will get to it, though.
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).
@@IAmTimCorey okay . Thank you😀
Thanks! Great explanations. Do you have any videos where you use VS Code versus VS2019?
No, but I did do a video dedicated to showing off how to develop C# in VSCode.
Would it be possible to hear from you more about using dapper and entity together in ASP.NET Core for two Data/Identity databases? Great video!
Thank you. I have added this to Tim's list of possible future topics.
So great, fresh Tim. 8 th
+=3
Soooo much helpful
Great!
Hi Tim, first thank you so much for all your videos. I have been searching, but maybe I overlooked. Do you have a video where you explain how to use MVC as the view and use class libraries for the logic and data? How do you make a connection between those layers? I am a beginner and really want to do this architecture the right way.
Here you go: czcams.com/video/bIiEv__QNxw/video.html
@@IAmTimCorey Thank you very much!!
Great video, thank you! Any chance you're going to talk about "containerizing" (ticking that "Enable Docker Support" checkbox) a .NET Core MVC Web App? And on that note, any chance you're going to talk about a container "orchestrator" (k8s)?
i'm asking because i'm a professional developer (just hit the 2 year mark) who is currently being pulled more and more into DevOps / Architecture
I will be covering that in the future, yes.
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.
Check out the C# Application from Start to Finish series (the paid version has an MVC add-on): czcams.com/play/PLLWMQd6PeGY3t63w-8MMIjIyYS7MsFcCi.html
I really needed to watch this video before my MVC interview today lol my mistake.
Well, hopefully it will help you for the next interview.
lol, I have MVC interview in 15 hours. I am glad I came across this video now and his channel
@@cenkhanyaloglu4480 I honestly dislike MVC but I like it better than MVVM or webforms by a long shot.
Do you have example how we seperate each view I to different project and load it using DI during runtime? I am trying to split complex system to ease the deployment
You're the best of the bests, I never thought it could so easy🤤🤤
I’m glad it was helpful.
@@IAmTimCorey Thanks Sr. Tim!
Hi, very good video. Thanks. I do have a few questions. How do you publish an ASP page, and once is published it where or how do you change the appsettings from development to production ?
I cover deployment in this course (www.iamtimcorey.com/p/getting-started-with-aspnetcore) as well as some about appsettings. I cover appsettings in a lot more depth here: www.iamtimcorey.com/p/net-core-appsettings-in-depth
In general, deployment depends on the situation. Changing from development to production is as simple as not saying it is development (Visual Studio marks your app as in development when it is run inside VS).
Which layer should keep the viewmodels and viewmodels' meta data annotation classes or fluent validation classes
Great video! Is there any chance to You will create video showing how to dockerize MVC app with database container?
Most likely, yes.
That was an awesome video. Keeping the identity and data database separate sounds good, however, what if I have a table in my data database that stores user-specific information? For instance, if I have an orders table in my data database, wouldn't it be difficult to create a cross-database foreign key to my AspNetUsers table? How would I deal with such a scenario?
It is not difficult. You know the ID of the user. Use that as the User ID in your data table. I do this in the TimCo Retail Manager series.
Great Video. Kindly add SignalR, Repository & Unit of Work patterns to your list for future videos. It would be great to see these topics covered by you. Thanks.
I will add it to the list. Thanks for the suggestion.
Thanks you boss 💪
You are welcome.
10q soo much for the vidio,but what virsion of vscode were u using??
35:40 - that made me think alot, (my workplace is on a .net framework non-standard mvc with lots of js doing things that should be done by backend and is not secure), to transition to a proper .net framework mvc where i can still reuse the existing class lib should like the most practical and (lest time consuming way to go fwd). in the end its what the app does and not what its built upond.
I am glad it made you think about your situation and how it could be better.
I've watched 3 of your videos and found them very helpful. I'm a beginner to M.S. Desktop apps and .Net - I've watched a few videos and tutorials. I have recently completed some M.S. C# Console App tutorials. Could you please advise where to continue learning to code (videos and tutorials)for desktop apps, webpages, and Android apps? Many thanks
If you have not already, be sure to check out this video - czcams.com/video/LUv20QxXjfw/video.html It is intended to help you assess where you are and the topics you need to add to your base skills. I hope it will help you fill in any gaps. My goal is to make becoming a developer easier and I hope I can help you be successful through your full journey!
Hi Tim!
Great video, as always. But I have one question.
Is it possible to use MongoDB instead of SQL Server in ASP. NET MVC or should I just stick to SQL?
Sure. You can use MongoDB and even use MongoDB with Atlas to move to the cloud.
@@IAmTimCorey thank you Tim!
"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: czcams.com/video/YhojOiGjGvQ/video.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
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.
This is helpful. Thank's.
someone need to do Core Beginner Course..
Didn't find a well thought and clear course, that educate for best practices from HTTP protocol up.
Including Udemy.
I will add it to the list. Thanks for the suggestion.
Thank you for the content. I am creating my project on a Linux platform, and was wondering if I should setup MSSQL server in container/Docker or use an instance on Azure. Given that I am going to push the project to Azure at some time, the later is better. Do you agree?
You can start with MSSQL locally (it will install on Linux) or you can start right away on Azure. Since you are going to Azure, doing so from the start will make it easy, although I do recommend having a development database. Here is a way to use a production database as the source for a developer database (in Docker) automatically: czcams.com/video/Yj69cWEG_Yo/video.html
@@IAmTimCorey I am so pleasantly surprised to find out about email verification, and QR, and others that are already built in ASP.NET. Makes me feel like I made the right choice in spending time to learn it.
Tim - you mentioned that you are not a big fan of MVC? What do you prefer over MVC?
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.)
Thanks Tim! I will definitely watch that video.
Thank you very much,
Please make video for creating full real application in ASP.NET core
In one video
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
Tim I'm wondering where is a place for business logic in MVC. You tell in library but how? For example I get data from form to data model and I put that object to dbcontext and save it in database. Where is the place to add some data manipulation function before saving it in db?
This is where the layers get a bit tricky. Yes, there is room for business logic in your UI (and in your database sometimes as well). I just try to limit it to only what is necessary for display purposes. Otherwise, I move the logic down a layer.
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.
@IAmTimCorey
Hi, Nice video. do you have any videos that uses the dotnet cli instead of visual studio?
Cheers.
Check out my VSCode video. We use the cli there.
i get a message that asks if you want to accept an IIS SSL Express certificate , i clicked no by mistake now the website can't be reached, what to do.