Understanding Async Await


Understanding VS 2012 Extensions

1. codemaid


Has its own tab in the Menu Bar so easy to use

2. Entity Framework (EF) Power Tools

3. Inline Navigate To

Is a default feature of VS 2013, but can be used using this in VS 2012

4. Javascript VSDoc Stub Generator 2012

Looks awesome


This is a simple extension that auto-generates vsdoc comments for JavaScript when completing a triple-slash, similar to other languages in Visual Studio 2012.

5. JSense
Used a lot. 
6. Nodejs debugging support
7.  Nuget PM
8. Productivity Power tools 2012
goto Tools Options for features list

9. Visual Assist X

Trial like resharper
Checking it out

10. Web Essentials 2012

Entity Framework 5 and ADO.Net

ref: http://www.entityframeworktutorial.net/what-is-entityframework.aspx

TUTORIAL : http://www.entityframeworktutorial.net/EntityFramework5/entity-framework5-introduction.aspx


ADO.NET is a set of classes that expose data access services to the .NET programmer. ADO.NET provides functionality to developers writing managed code similar to the functionality provided to native COM developers by ADO. ADO.NET provides consistent access to data sources such as Microsoft® SQL Server™, as well as data sources exposed through OLE DB and XML. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, manipulate, and update data.
ADO.NET provides a rich set of components for creating distributed, data-sharing applications. It is an integral part of the .NET Framework, providing access to relational data, XML, and application data. ADO.NET supports a variety of development needs, including the creation of front-end database clients and middle-tier business objects used by applications, tools, languages, or Internet browsers.

EF is used for Data Access (ADO.Net)

ADO.NET Entity Framework is an Object/Relational Mapping (ORM) framework that enables developers to work with relational data as domain-specific objects, eliminating the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects. The Entity Framework’s ORM implementation provides services like change tracking, identity resolution, lazy loading, and query translation so that developers can focus on their application-specific business logic rather than the data access fundamentals. 

Now the question is what is O/RM framework and why do we need it? 

ORM is a tool for storing data from domain objects to relational database like MS SQL Server in an automated way without much programming. O/RM includes three main parts: Domain class objects, Relational database objects and Mapping information on how domain objects maps to relational database objects (tables, views & storedprocedures). ORM helps us to keep our database design separate from our domain class design. This makes application maintainable and extendable. It also automates standard CRUD operation (Create, Read, Update & Delete) so developer doesn’t need to write it manually.

For more info visit: http://en.wikipedia.org/wiki/Object-relational_mapping

There are many ORM frameworks for .net in the market like DataObjects.Net, NHibernate, OpenAccess, SubSonic etc. ADO.NET Entity Framework is from Microsoft.
“What is Entity Framework? What are the benefits of using it and is it an alternative to ADO.NET?”
Well, to answer the first question about what is Entity Framework, Entity Framework is an Object Relational Mapper (ORM). It basically generates business objects and entities according to the database tables and provides the mechanism for:
  1. Performing basic CRUD (Create, Read, Update, Delete) operations.
  2. Easily managing “1 to 1”, “1 to many”, and “many to many” relationships.
  3. Ability to have inheritance relationships between entities.
and to answer the second question, the benefits are:
  1. We can have all data access logic written in higher level languages.
  2. The conceptual model can be represented in a better way by using relationships among entities.
  3. The underlying data store can be replaced without much overhead since all data access logic is present at a higher level.

VS 2013


Open Data Protocol (a.k.a OData) is a data access protocol from Microsoft released under the Microsoft Open Specification Promise. The protocol was designed to provide standard CRUD access to a data source via a website. It is similar to JDBC and ODBC although OData is not limited to SQL databases. OData has been submitted to OASIS.OData is the protocol of choice for the Open Government Data Initiative.[1] It is the data API for Microsoft Azure. eBay [2] provides an OData API to their data etc.

What is it ?
How is it different from JSON ?
How to use odata ?


BEST: http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec


Yes, ASP.NET Web API replaces WCF REST. WCF REST is no longer supported.
No, ASP.NET Web API does not replace WCF Data Services.
WCF Data Services is the full OData service stack, it both enables and defines OData.
ASP.NET Web API only supports a very small subset of OData.

BEST: http://www.slideshare.net/adnanmasood/presentation-web-api-vs-wcf

.Create sample projects in MVC 4, WebAPI and WCF wit h.Net 4.5 and see for urself