Looking for Reviewers for my new Series on N-Layer Design with ASP.NET 4.5 and Entity Framework 5 Code First

During the past couple of months, I've been hard at work writing a follow up of my article series on N-Layer design for ASP.NET. This was long overdue, as I completed the previous series in early 2009, more than four years ago!

The new series uses modern techniques such as Visual Studio 2012, ASP.NET 4.5, MVC 4, WCF, Entity Framework 5 Code First and techniques like Dependency Injection. It's a complete new series and demo application, written from scratch to demonstrate modern, n-layered applications that scale well and are easy to maintain. The functionality of the sample application I am building throughout this 10-part series is pretty much the same as in the previous series (a contact manager application) making it easier to compare the old design and application with the new ones. But obviously, all the code and underlying technology are brand new and up-to-date. What's new as well in this series is that I built more frontend applications. Rather than a single Web Forms application demonstrating the n-layer concepts, the sample solution now comes with four "frontend" applications:

  • An MVC 4 web application
  • An ASP.NET 4.5 Web Forms web application
  • A WCF service application
  • A command line tool demonstrating import capabilities

To see what the new series is about, you can download the table of contents of the new series as a PDF. The assumed level of experience is higher than with the previous series as this new series assumes you have working knowledge of .NET (all code is in C#), class and interface design and MVC 4 / Web Forms 4.5 / WCF for the various frontend demonstration sites.

Although I am making a lot of progress, I am not done yet. I still need to write the last part in the series, make some minor tweaks to the code and complete the source code documentation.

However, the application's design is more or less done, and 9 out of 10 articles are "feature complete" and in a beta state, ready to be reviewed. And this is where I hope you come in. I am looking for a few reviewers (probably not more than three or so to keep the feedback process manageable) that are willing to give this new article series and sample code a serious try. If you're interested, please read on.

The new article series is quite long (more like an eBook, currently at 160+ pages) with a lot of pretty deep coverage of various technologies, so make sure you understand what you say yes to if you're interested. I am really looking for harsh, constructive, detailed and useful feedback on both the article series itself (structure, depth of coverage, the way things are explained etc.) and on the application and its architecture. Getting feedback like "great stuff" or "it sucks" doesn't really help me improve the code and articles ;-)

If you're interested, here's what you'll get into:

  1. I'll send you the full code and article series when I am done. I may be done by the end of this weekend, but I am certainly done by the weekend of May 4th. You need Visual Studio 2012 to follow along with the series.
  2. You read the full article series, take the application for a test drive and provide me with relevant feedback. You can send your feedback as comments in the Word document that contains the articles. I need this feedback no later than two weeks after I send you the source files. So, again, make sure you know what you're getting into when you say yes.

What do you get in return? Besides my eternal thanks, I'll mention your name and bio (if you want) on my web site in the "thanks" section of the first article in the series. In addition, you'll receive the complete eBook and source code (valued at $25) when the series becomes available, hopefully in May or June. Finally, it's an excellent opportunity to get access to the full series and learn more about modern application design, long before anybody else has access to it.

Still interested after these conditions? Excellent! Then please send me your contact details and a short bio (to understand why you're the right person to do the review) and I'll be in touch with you soon with more details.

Thanks in advance!


Where to Next?

Wonder where to go next? You can read existing comments below or you can post a comment yourself on this article .

Consider making a donation
Please consider making a donation using PayPal. Your donation helps me to pay the bills so I can keep running Imar.Spaanjaars.Com, providing fresh content as often as possible.

Feedback by Other Visitors of Imar.Spaanjaars.Com

On Wednesday, April 24, 2013 8:54:38 AM WannaBCoder said:
Hello Imar,

My name is almost exactly like yours but mine starts with an "O" :P and I am also from the Netherlands.

This is probably not the right place to ask this question but since the Wrox p2p forum is more for people who bought your books and the contact page is more for more serious questions I have to ask it here.

I am a beginning webdeveloper I know the basics: XHTML, CSS, JS and some basic PHP (no OOP just the basics). The question I have is: what should I choose to develop my website? ASP.NET or PHP? I am reading a lot about these technologies the last few days to make a decision.

Reasons for ASP.NET:
- RAD development: look @ webforms. What takes me 2 hours in PHP takes me probably 30 minutes in ASP.NET
- Good learning materials like your book(I know PHP has more but most PHP books/tutorials have super bad unsecured code IMO. There is no right way in PHP).
- If I learn C# I can use a whole framework. I can also create desktop apps.
- Better designed. C# is pure OOP instead of PHP which is just bad.
- Friendly community and good community. Most community members are software professionals instead of PHP where a lot of them are just hobbyists this means better code etc.

- More expensive: I know the basic IDE is free but hosting is more expensive especially VPS (licensing fees). (I am 18 yo so I don't have a lot of money atm)
- Sometimes not so good supported some API's are only for PHP.
- Pages are messy in webforms: this is bad for SEO and multiple browsers.
- Not so popular as PHP. PHP has lots of resources I know I said this can be bad but it also has it's pros.
- ASP.NET is more complicated but the learning materials are better (I think?)

I want to create multiple sites but one site will use XML datafeeds. I did some research about ASP.NET and XML datafeeds but couldn't find any good answers. Do you think it is possible in ASP.NET to read XML datafeeds and put them into the database?

I dont want to start a flame war just your opinion! And sorry for posting this question here!
On Wednesday, April 24, 2013 9:21:43 AM Imar Spaanjaars said:
Hi there,

I am biased, so I say: go for ASP.NET. Your points on hosting could be valid, so it's something to watch out for if that's important to you. However, hosting ASP.NET sites doesn't have to be expensive: http://www.asp.net/hosting

And yes: you absolutely can read XML data / feeds and store them in a database. This is pretty simple to do in ASP.NET.

For a follow up on this, please do consider posting this on a forum. It's really really off-topic for the post "Looking for Reviewers for my new Series " ;-)


On Saturday, May 11, 2013 4:00:56 AM Akila said:
Your earlier articles really helped me to find a jobs . because i gained a lots of things from those articles. Eagerly waiting for your next release.
On Wednesday, June 19, 2013 2:47:59 AM Isidro said:
waiting for next post.
On Wednesday, October 30, 2013 1:55:07 PM Angelo said:

First of all I would like to thank you for such an excellent example, and one that actually works, there are a couple of things that would make this even more complete:

  1.  How to add another entity to the model, say for instance I want to add a completely new table to the database (Club), how would I add this to the project?  

2.  How to enable migrations so that the database gets updated based on whatever new code is added for accommodating the CLUB entity.

  I would create a separate webforms page to enter the information for the Club table using a FormView.  

I spent some time trying to accomplish this but wound up hitting a few snags and could not find a way around it.  Followed many examples out there on how to enable migrations and have the database updated but none of them worked out of the box.

On Wednesday, October 30, 2013 8:59:16 PM Imar Spaanjaars said:
Hi Angelo,

1) Just add the class and then add a DbSet for it in the DbContext class. Then when the database gets regenerated the table will be created automatically.

2) Search Google for instructions on enabling migrations. Julie Lerman has a great training on pluralsight.com about. If the instructions you have found so far don't work for you, I doubt mine will be able to help you out ;-)



Talk Back! Comment on Imar.Spaanjaars.Com

I am interested in what you have to say about this article. Feel free to post any comments, remarks or questions you may have about this article. The Talk Back feature is not meant for technical questions that are not directly related to this article. So, a post like "Hey, can you tell me how I can upload files to a MySQL database in PHP?" is likely to be removed. Also spam and unrealistic job offers will be deleted immediately.

When you post a comment, you have to provide your name and the comment. Your e-mail address is optional and you only need to provide it if you want me to contact you. It will not be displayed along with your comment. I got sick and tired of the comment spam I was receiving, so I have protected this page with a simple calculation exercise. This means that if you want to leave a comment, you'll need to complete the calculation before you hit the Post Comment button.

If you want to object to a comment made by another visitor, be sure to contact me and I'll look into it ASAP. Don't forget to mention the page link, or the QuickDocId of the document.

For more information about the Talk Back feature, check out this news item.