Continuous integration with and TFS

As a developer, we all are using some kind of source control provider to maintain versions of our source code.  But another aspects of source control to is to make sure that code committed in source code repositories are  perfect and it will not break the build of particular software. That’s why Continuous integration is very much popular this days.

What is Continuous Integration:

As per wikipedia
Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It was first named and proposed by Grady Booch in his method, who did not advocate integrating several times a day.
In simple words, when developers checks in or commit code to source code repository a build of software will automatically triggers to check whether current check-in/commit of code breaks code or not.

1.5 million page views for my blog-

Ahh, still it’s hard to believe that my blog has achieved this milestone. Yeah my blog got completed 1.5 millions page views. So first all, thank you readers without you guys it’s not possible to achieve such a big milestone.

When I started my blog I was not never sure what I am going to do with this blog. But then it’s become integral part of my life. Now I can’t imaging my self without my blog.
A big thank you to all who supported me and given so much love to my blog.
I would also like to thank you my family without their support it was not possible to achieve such a big milestone.

Before some time I have written a blog post about 1 million view. It took almost four years to achieve 1 million page views mile stone and now this time it cross half million in just about 7 months( May 2014 to Dec 2014). So again thank you very much dear readers for making my blog popular.

Statistics from

I am not super crazy about sharing statistics but this is a special milestone I am sharing my statistics with you guys. Following is a statistics confirmed by blogger built in statistics tool.

Complex type in EFCodeFirst

I have already written a few blog post about EF Code first and it’s features following is a complete list of blog posts.

Entity framework code first and inheritance- Table Per Type
Entity Framework code first and Inheritance–Table per hierarchy
Entity Framework Code First migrations
Different way of mapping with EFCodeFirst
Different way of creating keys in EFCodeFirst

This post will also be part of this EF code first series. In this blog post we are going to learn how we can handle complex type in EF Code First. In our day to day operation we are having different kind of database tables where  there are multiple type of relationships  are defined like one-to-one, one-to-many and many-to-many. This all kind of relationship is handle by complex types.

Dependency Injection with ASP.NET MVC and Simple Injector

I have been learning SimpleInjector for few days and it’s just awesome.  I have already written two post about it(see below link) and this post will be third post about it. In this post we are going to learn how we can do Dependency Injection with ASP.NET MVC.

For those who are reading my posts about Simple Injector Following are two previous post I have written about Simple Injector. I highly recommend to read first two post so that you can be aware about how we can configure SimpleInjector container.

Dependency Injection with Simple Injector
Singleton Instance in Simple Injector

So let’s start with creating a ASP.NET MVC Project from Visual Studio.

Singleton Instance in SimpleInjector

Before some time I have written a blog post Dependency Injector with Simple Injector. This is a second blog post in same series. In this blog post we are going to learn How we can create a singleton Instance in Simple Injector.

What is is Singleton:

This is one of the Gang of Four creational pattern. Idea of behind the singleton pattern is to have only one instance of class of at anytime. This pattern ensures that a class will has only one instance of it and provides a global point of access to that instance.

I have already written a global blog post about that. You can find a basic example of Singleton pattern in C# from the following link.

Singleton Class in c#

How we can create Singleton Instance with SimpleInjector:

Here I’m going to create a console application with logger example. So let’s create via creating a new project like below.

Dependency Injection with Simple Injector

Before some I have written a blog post about how to do dependency injection with StructureMap. In this post we are going to learn Simple Injector IOC library and how we can do dependency injection with Simple Injector.

About Simple Injector:

Simple Injector is a open source dependency injection library developed with C#. Followings are few characteristics of Simple Injector.
  • Simple Injector is very simple to use dependency injection library support .NET 4+ framework, Silverlight 4+, Windows Phone 8, Windows 8 Including Universal apps and Mono.
  • Simple Injector is easily integrated with frameworks like ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web API, WCF and many more.
  • It’s free and always be free. Published under MIT license.
  • Simple Injector is highly optimized for performance and concurrent use.
  • Simple Injector is thread safe and lock free design.
  • Simple Injector has great support for generics and used lot of things of generics then any other dependency injection libraries.
  • Simple Injector has a powerful diagnostic system.Currently it offers following validations
    • Lifestyle Mismatch
    • Short Circuit Dependencies
    • Potential Single Responsibility violations
    • Container Register Types
  • Simple Injector is amazingly fast.
  • Simple Injector is developed using Modern proven development practices such as TDD and Solid Design Principals. like URLs with attribute routing in ASP.NET MVC

Before some time I have blogged about Attribute Routing features of ASP.NET MVC 5.x version.  In this blog we are going to learn how we can create like URLs with attribute routing.

As you know is one of the most popular questions answer site where you can ask questions and almost get the answers of your questions. So to create URLs like we need to understand structure of URLs of Stackoverflow. Let’s take example of following question URL which I have answered on

and let’s take another example

If you compare and understand structure of this URLs. You will know that there will be a two things which will be dynamic for this URLS.

Blog post selected as ASP.NET MVC Official Additional Learning Resources

I have got news before few days that my blog post about CDN is ASP.NET MVC bundling selected as Additional Resources for learning about ASP.NET MVC on official ASP.NET Site.

On this occasion I would like to thank my audience and my family to supporting me. Thank you all without you it would not have been possible. I loved to be part of this amazing community and I promise that I would continue to do community work.

I would also like to thank Rick Anderson and Jon Galloway and whole ASP.NET Team for selecting my post. It’s a honour for me. Thanks you very much guys for encouraging and inspiring me  to do community work!!

Due to all this my blog got high ranking and I’m almost getting more then 80k page views every month. Google is loving my blog more and more!!

Thank you very much everything dear readers!!

Different way of creating keys in EFCodeFirst

Recently I have been playing with Entity Framework Code First and I like it a lot. There are plenty of features given and you can configure all that stuff with code. I have already written couple of post for Entity Framework Code First.

Different way of mapping in EFCodeFirst
Entity Framework code first and Inheritance–Table per hierarchy
Entity framework code first and inheritance- Table Per Type

As you EFCodeFirst generate database table based on the configuration defined in classes. Today we are going to learn about how we can create key with different configurations.

CDN in ASP.NET MVC bundling

ASP.NET MVC contains great features and Bundling is one of them. The Bundling and Minification features allow you to reduce number of HTTP requests that a web page needs to make by combining individual scripts and style sheet files. It can also reduce a overall size of bundle by minifying the content of application.   From ASP.NET MVC 4 bundling also includes CDN support also where you can utilize public CDN available for common libraries. Let’s look this features in details.

CDN Support in Bundling:

Libraries like jQuery, jQuery UI and some other libraries are commonly used in most of the applications. There are available in CDN (Content Delivery Networks) specifying the URL of particular library with specific version.  Bundling now has CDN path as parameter in default bundle functionality where you can specify the path of the CDN library and use that. So when you application run in production environment first it will check whether CDN are available or not if available then it will load it from the CDN itself and If CDN is not available then it will load files hosted on our server.