Thursday, March 26, 2015

Fluent Nhibernate : Create Table from Code(Class- CodeFirst)

Now days,  Convention over configured is more preferred and that’s why Fluent Nhibernate got more popularity Because with Fluent Nhibernate we don’t have to write and maintain mapping in xml. You can write classes to map your domain objects to your database tables. If you want to learn how we can do this with existing database and Fluent Nhibernate, I have also written a blog post about CRUD operation with Fluent Nhibernate and ASP.NET MVC . After writing this blog post I was getting a lots of emails about how we can create database from the Fluent Nhibernate as we can do same with Entity Framework Code First. So I thought it’s a good idea to write a blog post about it instead of writing individual emails.

How to create tables from class via Fluent Nhibernate:

To Demonstrate how we can create tables based mapping classes create we’re going to create a console application via adding new project like below.

Posted on Thursday, March 26, 2015 | Categories:
Sunday, March 22, 2015

Entity Framework Internals: Enum Support

In .NET world, We all are using Enums in our code. It’s makes our code more readable then using hardcoded numbers of strings. Entity Framework 5.0 or higher version has support for Enums. In this blog post we are going to see how we can use Enums with entity framework.

We are going to create a console application to see how it’s works. I’m going to create a console application for the same.

entity-framework-enum-support-console-application

After creating a application I’ve added Entity framework via Nuget package.

Saturday, March 21, 2015

Entity Framework internals :IEnumerable and IQueryable

Now days, Entity framework is one the most used ORM in .NET world. Still I can see lots of people confused with IQueryable and IEnumerable. If they dont' know what is difference between them then they are going to make mistakes .When you first look at it both looks same. But there are quite differences and If you don’t understands internals of it then it will impact your query performance also.

IEnumerable vs IQueryable:

Here is the basic difference between IEnumerable and IQueryable. When you write queries with IEnumerable it executes queries on Server and load data in memory and then filter data on client side. This will be a problem when you are fetching large amount of data. While IQueryable executes queries on server side with all filters and then load all data into memory.

Example:

Sound complex!. Let’s write a simple example to understand it better. I am going to create a simple table in database called student table.

Friday, March 13, 2015

NSubstitute Introduction and Why I like it

Recently I am heavily learning Test Driven Development and Domain Driven design. As you know With TDD you need to have a mocking libraries. So after doing on research on internet they are three libraries available in Microsoft.NET development world which are quite mature.

  1. Rhino Mocks
  2. NSubstitute
  3. Moq
I have gone through all of above three and then After doing research and I choose NSubstitute.

Why I Choose NSubstitute:

Following are the reasons why I have chosen NSubstitute.

  1. It is super easy to use. I don’t have to write very complex lamda expressions to mock objects.
  2. It works really fine with all framework of Test Driven Development
  3. As it is super easy to use you need to write very less code to mock objects.
  4. With other Visual Studio plugins like Resharper, Telerik Justcode its works perfectly and they are able to generate code for the same.
  5. It’s got fluent syntax and very easy to understand.
  6. It’s perfect for some one who is not mature enough for Test Driven Development.
Posted on Friday, March 13, 2015 | Categories:
Thursday, February 5, 2015

Shared project in Visual Studio 2015

Shared project is new feature that was added in Visual Studio 2013 update 2 but in visual studio 2015 it is coming by default. In this post we are going to learn about Shared Project and how it is different from class library.

Shared project in Visual Studio 2015:

Shared project is a new feature that is introduced with Visual Studio 2013 update 2 and it’s comes by default with Visual Studio 2015. So with shared project you can share your common code with any number of applications. You can use that in another project via adding project reference. So let’s see how we can use Shared project in multiple application.

To understand how Shared project works, I have create a blank solution like following.

blank-solution-for-shared-project-visual-studio-2015

Wednesday, February 4, 2015

Why coding standards are important?

Yesterday, I had a discussion with friend about coding standard are important and why you need it?  So I thought it will be a good idea to write a blog post about it. Followings are some reasons why coding standard are so important.

  • Readability:  coding standard will increase overall code readability means if you follow you coding standard defined other people also know that what you have written. They don’t need to debug the code to know what function this code will perform.
  • Code Style: Every programmer have different style of writing code. So if we don’t have coding standard then Programmer ‘A’ can write variable in camel casing while other  will prefer to use Pascal case. So different modules have different coding styles.Which makes code hard to understand.
  • Code Reviews: Code review is an important part of any software development. If you don’t have a coding standard defined then it will take more time to do code review.
  • Error handling/Exception handling : The another benefits of coding standard is standardized way of handling errors. If you don’t have coding standard defined then each programmer will handle errors in unique way that could create a problem of identification of a bug  in software development .
  • Maintenance: Large enterprise software's will have  long life span. So if there is any enhancement or maintenance work is required with the help of coding standard any people can understand code easily and easily do the some changes.
That’s it. Hope you like it. Stay tune for more!
Posted on Wednesday, February 04, 2015 | Categories:

What is MongoDB and Why MongoDB?

Recently I have playing a lot with MongoDB and it’s  one of the favourite document database. In this blog post we are going to learn about MongoDB in details.

What is MongoDB?

Those who don’t know MongoDB here is what documentation on MongoDB says about it.

MongoDB is a document database that provides high performance, high availability, and easy scalability. Document Database. Documents (objects) map nicely to programming language data types. Embedded documents and arrays reduce need for joins.
A MongoDB is one of popular database. A standard deployment can hold many databases. A database holds a set of collections. It's like similar to tables in relational databases. A collection holds a set of documents just like rows in relational database tables. A document is a set of Key value pair. It’s stores data in such a way that there is no relation is required. It was created by company called 10gen.

MongoDB supports almost all the languages and there are lits of drivers are available for MongoDB and it open sourced at Github at following location.

Posted on Wednesday, February 04, 2015 | Categories:
Sunday, February 1, 2015

Grid view row span in ASP.NET

I know for some one it will sound like a very basic code for the row span of grid view but still there are lots of people that does not about that. So I thought it will be a good idea to write a blog post about it. So in this blog post we are going to learn How we can use row span in ASP.NET Grid Views.

So what we are waiting for Let’s take a small example of sample ASP.NET Web forms application. So Let’s start by creating an empty ASP.NET Webforms application like below.

GridViewColSpan

After that I have added a page web page like below.

Posted on Sunday, February 01, 2015 | Categories:

Project.json file in ASP.NET 5(vNext)

Recently Microsoft has released the preview version of ASP.NET 5(vNext) as a Part of Visual Studio 2015 CTP. As this whole .NET framework is rewritten from the scratch so there are lots of change there. One of most exciting changes in ASP.NET 5(vNext) is moving all changes in Project.json file instead of solution. This Project.json file will have lots information related to dependencies, configuration and lots of other stuff.

Project.json file in ASP.NET 5(vNext)

Let’s create a ASP.NET 5(vNext) application from File –> New  Project

aspnet-5-starter-app

Once you create ASP.NET 5 application, It will create a sample project with Project.json like this.

Posted on Sunday, February 01, 2015 | Categories:
Saturday, January 31, 2015

Install Go Language and Lite IDE on Ubuntu

Note: I’m not moving to Another world. Still C# and ASP.NET is my bread and butter.
Recently I have installed Ubuntu as Virtual OS in Oracle Virtual Box. This was one of first exposure I got Linux base operating system.  Earlier I have used Linux when I was doing my masters as part of their curriculum.  So far I am having fun Ubuntu and other Linux base operating system has come far.

After installing Linux, I thought why should I try some other language which is completely different then which I am working right now. This make me Polyglot  programmer and I could learn something from trying a new language and so I gone through various language and choose Go language.

Why Go Language?

Here are the reasons why I have choose to learn GO programming language.
  • It’s backed by Google so will not go away near future.
  • High performance :  Makers of Go language claims that it will perform as fast C and C++ language.
  • Fairly easy language to run.
  • Statically typed just like C#.
  • It has Garbase collection so I don’t have to worry about memory management like C and C++
  • Concurrency is in built
To know more about go language you can visit following site. It has got ton of resources.
http://golang.org/
Posted on Saturday, January 31, 2015 | Categories: ,