In my last post we learned how to call stored procedure using Repository Pattern and Entity Framework. In ExecuteReader function we saw how to map selected rows to plain(without complex) domain object. Class DataReaderMapper used reflection concept to map properties. However this approach will use only for repository and not for ViewModel or DTO’s or any custom class.

Suppose you wanted to execute complex dynamic query and fetch result with respect to class or view object then stored procedure using repository pattern approach will not work. To overcome this drawback, move such database calling logic to unit of work.

So, Unit of Work will use context object to invoke stored procedure. Using unit of work we can execute stored procedure, views and map result to any custom object. We can even invoke stored procedure to return scalar/non scalar results through command objects on “DBContext.Database.Connection”

Data access layer is one one of important aspect in any application. I have written many posts on data access later using ADO.NET, DBProviderFactories, generic repository and Entity Framework. So in this post I am consolidating all posts in one place.

I will update this section whenever I publish new post related to data access.

Today I am going to guide you the Microsoft Certification paths (marked in above figure) for web/database developer who develops web application using HTML5, CSS, Javascript, Web API, WCF, Windows Azure and SQL Server. In this post I will focus on best certification roadmap, syllabus and study material available on internet.

Microsoft Virtual Academyprovides free training videos developed by their experts andMicrosoft Press Storeprovides PDF format books with effective cost ($30-$50). I would recommend you to read these books available in your companies or college libraries.

There are many certification paths available on Microsoft Learning website. However I am explaining the best path for Web and Database developers.

Microsoft offers three professional specialization in certification and one entry level certification as below,

MTA: Microsoft Technology Associate

It is fundamental technical knowledge entry-levelcertification intended for people who’s more focus on basic concepts. This certification do not qualify for any MCP certification nor they are prerequisite for MCSA, MCSE or MCSD certifications. This certification is best for those doesn’t have computer background.

MCP: Microsoft Certified Professional

You will earn this certification once you pass any of the examination mentioned in MCSA/MCSE/MCSD

1. MCSA: Microsoft Certified Solutions Associate

It is certification program intended for people who seek entry-level jobs in information technology industry. It is prerequisite for more advanced Microsoft certifications like MCSE and MCSD

2. MCSE: Microsoft Certified Solutions Expert

This certification show the IT professional’s skills to build, design and develop advanced solutions which integrate multiple Microsoft technologies, both on-premises and in the cloud. It requires MCSA prerequisite.

This certification available in Cloud and Data platform.

3. MCSD: Microsoft Certified Solutions Developer

This certification proves the IT professional’s skills in building, designing and developing advanced application solutions using multiple Microsoft technologies, both on-premises and in the cloud. It requires MCSA prerequisite.

This certification is available in Web application platform.

Typical Roadmap for Web and Database developers.

Cloud Certificate Path

To achieve cloud certifications you need to pass both exam 70-532 and exam 70-535. If you either pass the exam you will receive specialist certification credit.

Windows Azure Certification

Once you clear both the exams you will gain both MCSA(Cloud platform) and MCSE (Cloud Platform and Infrastructure) certifications. If you are developer and most focus development part on windows azure rather infrastructure then I would recommend you to go for exam 70-532 Developing Microsoft Azure Solutions as this exam is elective exam to achieve MCSD in Web application

I will discuss more on syllabus part in my next article.

Web Development Certification Path

Now a days full stack development is one of the important aspect in web development. The candidate who have good hands on experience on HTML, CSS, JavaScript, C#, ASP.NET MVC, Web API, WCF and Windows azure can go with this certification path. For .Net web developer needs three exams to earn MCSD certification. The best path is as below,

Web Application Certification

Here you need pass exam 70-480 and exam 70-486 to earn MCSA in Web Applications certification and to earn MCSD in App Builder, you need to clear exam 70-487 along with MCSA certification as prerequisite.

Another best path available is to choose elective exam before appearing for MCSD. Below certification path shows the another track,

Web and Cloud Certification

This is same path as Web development track but you have option to choose any one exam from 70-487, 70-532 and 70-535.

Confusion between exam 70-487 and exam 70-532?

This is the one of confusing question comes into mind which exam should I choose as the name suggest Developing Windows Azure. Well, personally I feel the name given to exam 70-487 needs to be change as it is mostly focused on Web Services and Web API concepts and very few questions from Windows Azure. However exam 70-532 more focus on windows azure development only. I hope my answer helps you to decide right certification.

Database Development Certification Path

For database development you need to pass total four exams which consist of database development, database administration, SQL data warehouse. This is one of the toughest certification in data category.

Generally, developers confuse between the development track to choose. In my personal opinion this is not right track to start with if you mostly focus on database development rather than administration stuff.

Last year Microsoft introduced another path for database certification and I feel the best one to clear only two exams to achieve MCSA and MCSE both i.e. SQL 2016 Database development.

I personally feels one should always go with this path as this also saves your money and time to prepare 🙂

Frequently Asked Questions(FAQ’s)

Q: How to register for exam?

First create Microsoft Learning account and fill the necessary details like personal details, address details and contact details. After registration you will get MCID and PearsonVue Registation ID. Please note this both registrations ID’s for future exams. Do not create multiple MCID and Person Registration ID as it would be difficult to you to generate transcript.

You can register for exam online and appear any Pearsonvue test center near you.

You can go to Personvue exam center and share Exam Code to appear, MCID, Personvue ID, Voucher Code(It is not mandatory to purchase voucher code, you can pay exam fee at test center as well)

A: You need to present two identities on test day: One primary identity (government-issued with name, photo, and signature) and one secondary ID (name and signature). Here first name and last name must exactly match with identity presented on test day.

A: No there is no negative marking in exam. Each question have marks and partial marks

Q: How and When will I get my exam results?

A: After completing exam, you will immediately get exam result print out at Pearsonvue center which mentions marks scored, and status of exam PASSED/FAILED with performance of skills areas measured using horizontal bar chart. Microsoft generally updates your learning account within 24 hrs if you pass the exam.

Yesterday I received one complain about performance issue of entity framework for bigger LINQ queries using repository pattern. Client had asked me my opinion about using entity framework and moving complex logic to stored procedures. However, developers were not aware of calling stored procedures using repository pattern hence they had created edmx file and called stored procedure from that.

Personally, I feels above is not right approach to create separate edmx file just to call stored procedure. I advised to call it from repository itself. Last 6+ years I worked with Entity framework (code first, database first and model fist) and I felt repository pattern and unit of work i.e. code first approach is the best solution to work with.

Here I am not going to debate of all approaches here rather concentrating on performance and best practice to use entity framework. There are couple of ways to use entity framework effectively and in my upcoming blog post I will explain it.

Personally, I feels the use of hybrid (Entity+Stored Procedure) approach would help you to achieve your goals. I would recommend to use 10%-15% of your code using stored procedures and 85%-90% of code using entities. The disadvantage of this approach is that mocking of repository. The stored procedure approach in entity framework is not advisable as it makes mocking of repository difficult.

But if your goal is performance first then you should go with hybrid approach.

I my previous postwe discussed about generic repository pattern and unit of work. Here i will use same database and code and just add additional code to call stored procedure using repository pattern and unit of work.