New Pluralsight Course: Building ASP.NET MVC Apps with EF Code First, HTML5, and jQuery


I just finished up a new Pluralsight course titled Building ASP.NET MVC Apps with EF Code First, HTML5, and jQuery that I’m really excited about. As the title implies, the course provides an end to end look at an application built using ASP.NET MVC, Entity Framework Code First, HTML5, jQuery, and several other technologies. The application is a single-page application that loads the initial screen and then relies on Ajax calls to load data and tiles behind the scenes. Screenshots of the initial concept as well as the resulting application are shown next:



The goal of the course is to provide an end-to-end look at different technologies, show how they can be integrated together, and discuss several best practices that can be used in applications.  Most courses focus on a narrow topic (such as my jQuery Fundamentals, Structuring JavaScript, or ASP.NET Web Forms courses on or only focus on getting started with technologies but don’t go into more real-world scenarios.  With this course, I walk through building an application from start to finish and discuss data repository classes, creating and using Model classes, ASP.NET MVC controllers and actions, converting Model objects to JSON, client-side technologies such as jQuery, JavaScript patterns, HTML5, Ajax calls, structuring C# and JavaScript code, dependency injection, plus a lot more. If you've been waiting for a course that ties everything together into one cohesive unit then this course will help you out. Here's a quick list of the key technologies that the course covers:

A sample video from the course that shows the application that’s discussed throughout is shown next:


To get the most out of the course I recommend that you have some familiarity with ASP.NET MVC and JavaScript/jQuery. All of the server-side code is written in C#. If you need a refresher on any of those technologies and others check out the following courses on

Here’s the complete course outline. If you don’t already have a Pluralsight subscription check out their 10-day free trial (and talk to your boss about getting one!). The course can be found here.

Additional courses that I’ve published for Pluralsight include:

comments powered by Disqus


  • Just curious... are you going to switch from jquery templates to knockout? Jquery templates are no longer supported, and knockout has a lot of momentum. I just implemented my first business app for a consultant using mvc and knockout; it went really well.

    Oh, and if you need any Atlanta-based contract teachers, give me a shout. I've co-authored some books and written some magazine articles, and was an MCT for a long time.


  • John:

    Thanks for commenting. For future projects I'll likely switch to either Knockout templates or jsRender (once it's a little further along) but I'd still use jQuery templates in projects today if needed because they're proven, are productive, simple, have a small footprint, and they get the job done. If I had run into a lot of bugs then I'd definitely be leery about no new development being done on jQuery templates but that hasn't been the case so I don't view it as a big deal since the script would be stored locally in my app and I'd control any changes. Having said that, at some point I'll probably upgrade the templates used in the app to Knockout templates, jsRender, or some other template framework that comes out if for no other reason than trying to use the most current technologies.

    Thanks for the info on teaching as well. If I have a need for that I'll give you a holler. :-)


  • I'm about halfway through it (module 4 remains) and I've really enjoyed it and have found a lot of good tips and tricks. You have a very clean and smooth presentation style. It's motivated me to try out a monthly Pluralsight subscription. It looks like they have a lot of great content available. Thanks again!

  • Eric: Thanks! Really glad to hear you're enjoying the course.

  • I used Plural sight training on MVC3 (via ASp.Net/Mvc) and its very good but never bother to check what is their subscription plan. Then I read about this new course (and its related what I am doing and wanted to do it) and that when I register for it and then saw their subscription plan! Oh my! ...

    I really loved the course and teaching format. Thank you

    From Kuwait

    PS: Please if you can consider above feedback for the course update.

  • Hi. I've watched your course and just love it. As menitoned above, there really has been a lact of training courses that put everything together and shows how to keep it organized, and this one shows solutions to what I've used months to reasearch on my own. And the jquery pattern you use is just pure fun to watch.

    However, I have one question regarding DDD. I think the principles in DDD is very nice, but it seems to me that as in your example people like to keep their model classes clean doing MVC with repositories and EF Code First, not giving the entities behavior. But people advocating DDD sees this as an anemic model and possibly an anti-pattern. Is there a reason why you choose to not go into that part in this course? Or is it just not that relevant for the typical MVC project?

  • Excellent video production! One of the best presenters I have seen for doing tech projects on the web (I own a few peepcode and tekpub videos, so I have something to contrast). I could throw a bunch of stuff out here about why it is good, but suffice it to say all around really good broadcast!

  • Barry: As long as you have VS 2010 (VS 2010 with SP1 is what I'm running) along with ASP.NET MVC 3 available it should load up for you. The only time I've seen that type of error is when a project type (like MVC 3) isn't installed.

    A new "final" version of the code is being added and clearly marked in the download since I felt we needed a more clear-but "final" version for people. I don't know if they've added that yet though. In the meantime, you can download it from here if interested:

    There's a short ReadMe.txt file in there to help you get the DB in place.


  • Joey: Thanks! Really glad to hear you enjoyed the course.


  • csam: I like to keep my Model classes clean with only properties so that's what you'll find with the Account at a Glance solution. There are of course a lot of opinions on that but I prefer to keep things as simple as possible. With the Repository pattern all of the behavior for handling data is in the separate data repository classes. The Model classes simply act as data containers and can be passed around between the layers. By doing this every class is very focused.

    It all comes down to personal experience/preferences though. I follow the pattern shown in the videos in my company's regular consulting projects too and it's worked out very well over the years.


  • Can I Have a code source for this app.

  • Finally finished the course. I really enjoyed it. It's always nice to take a look at other's source code to gain insight and new ideas. Up next I'm going to check out your course on structuring Javascript and then work through a couple of Knockout.js courses. Pluralsight almost has too many courses! :)

  • Hi Dan,
    Great idea to use ASP.NET MVC, HTML5, jQuery, EF in a real world project. I'm now creating a new web site using the repository pattern you demonstrated, which will be good for my testing, and eventually, for my users. Keep up the great work.

    PS: I also enjoyed your courses on jQuery (already a year ago) and structuring JavaScript.

  • I loved your end to end example for this course.

    I'm starting my first MVC4 application and I have a question about your RepositoryBase.cs that you talked about in the course. I'm not sure how to take advantage of some of the methods in the base class such as

    public virtual IQueryable GetList() where T : class.

    Would I need to declare that method in my interface so that I can use the class in my controller? Currently, I can't seem to use that class from my controller without doing something like this:

    var r = new PaymentTypeRepository();
    return View(r.GetList());

    I guess I was hoping not to need the type every time I called one of the base methods.

    Do you have a book that covers this type of thing?

Comments have been disabled for this content.