<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dot Net ExperienceDot Net Experience</title>
	<atom:link href="http://dotnetexperience.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://dotnetexperience.com</link>
	<description>dot net experience</description>
	<lastBuildDate>Thu, 17 May 2012 18:38:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Introduction to MVC / Sample MVC 3 application</title>
		<link>http://dotnetexperience.com/2012/05/intro-mvc3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=intro-mvc3</link>
		<comments>http://dotnetexperience.com/2012/05/intro-mvc3/#comments</comments>
		<pubDate>Thu, 17 May 2012 18:37:32 +0000</pubDate>
		<dc:creator>samhaider</dc:creator>
				<category><![CDATA[MVC]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[asp .net]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[mvc 3]]></category>
		<category><![CDATA[razor]]></category>

		<guid isPermaLink="false">http://dotnetexperience.com/?p=45</guid>
		<description><![CDATA[MVC is part of the asp.net framework. It is a programming model which helps you create an asp.net web application, but MVC is much slicker and cleaner then asp.net Webforms environment. So let jump right into MVC. The MVC design consists of Model – View – Controller patterns. Model – This is usually where we [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dotnetexperience.com/wp-content/uploads/2012/05/mvc.png"><img class="alignleft size-full wp-image-46" title="mvc" src="http://dotnetexperience.com/wp-content/uploads/2012/05/mvc.png" alt="" width="327" height="314" /></a>MVC is part of the asp.net framework. It is a programming model which helps you create an asp.net web application, but MVC is much slicker and cleaner then asp.net Webforms environment.</p>
<p>So let jump right into MVC. The MVC design consists of Model – View – Controller patterns.</p>
<p><strong>Model –</strong> This is usually where we store the application business logic, application classes, database, database interaction classes and other backend of the application.</p>
<p><strong>View –</strong> This is where we store the User Interfaces code, these can be html, Razor html, and other UI code.</p>
<p><strong>Controller – </strong>This is where we store the controller code of the application, which handles requests sent to the application. The controller acts like a mediator which takes request from the user and sends back the appropriate UI back to the browser.</p>
<p><strong>Here are some advantages of developing in MVC</strong></p>
<ul>
<li>Separation of Concern – This is where the application can be separated into its important modules and gives close to no overlapping in functionality. MVC provides very clean separation of concerns.</li>
<li>Clean HTML – MVC provides full control over the html and formatting of the UI.</li>
<li>Test Driven Development – MVC brings TDD to the web application.</li>
<li>There are no post back and view state events.</li>
<li>Simple integration with Javascripts.</li>
</ul>
<p><strong>Process of the MVC application</strong></p>
<p><a href="http://dotnetexperience.com/wp-content/uploads/2012/05/mvc2.png"><img class="alignleft size-full wp-image-47" title="mvc2" src="http://dotnetexperience.com/wp-content/uploads/2012/05/mvc2.png" alt="" width="435" height="286" /></a>Let’s start the conversation from when one navigates to the application in a browser, and the browser sends a request to the application. When the application gets a request it first goes through a URL routing which routes them to the right Controller and the controller’s action method. The action method is defined in the controller for every view. The action method requests data through the data Model, passes the DataModel to the View, and returns the rendered view to the browser. Here it is important to mention that it is the controller that is talking to Model not the View talking to the Model.</p>
<p><strong> Directory Structure</strong></p>
<p><a href="http://dotnetexperience.com/wp-content/uploads/2012/05/mvcfolder.png"><img class="alignright size-full wp-image-48" title="mvcfolder" src="http://dotnetexperience.com/wp-content/uploads/2012/05/mvcfolder.png" alt="" width="254" height="395" /></a>Directory structure is an important part of the MVC framework. And understanding the directory structure will give you an understanding of how the framework works and how simple and clean is MVC.</p>
<p>Here is the directory structure of the small application that I am building. The out of box folder structure consists of Controllers folder, the Models folder, the Views folder, the Scripts folder, the Content folder. I personally added the data folder within the Model layer in order keep the data types separate from the actual database connection.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>MVC3 Sample application</strong></p>
<p>Here is a video of me explaining the sample application I build in MVC.</p>
<p><iframe src="http://www.youtube.com/embed/Di5wCWVF7Dk" frameborder="0" width="420" height="315"></iframe></p>
<p>&nbsp;</p>
<p><strong>Feedback</strong></p>
<p>Your feedback is greatly appreciated and will be taken into consideration, so please take a few minutes to let me know what you think.</p>
<p>Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://dotnetexperience.com/2012/05/intro-mvc3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal Development Plan</title>
		<link>http://dotnetexperience.com/2012/05/pdp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pdp</link>
		<comments>http://dotnetexperience.com/2012/05/pdp/#comments</comments>
		<pubDate>Thu, 03 May 2012 08:41:27 +0000</pubDate>
		<dc:creator>samhaider</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[development plan]]></category>
		<category><![CDATA[development plan template]]></category>
		<category><![CDATA[pdp]]></category>
		<category><![CDATA[pdp template]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[personal development plan]]></category>
		<category><![CDATA[personal development template]]></category>
		<category><![CDATA[personal developmnet]]></category>
		<category><![CDATA[plan]]></category>

		<guid isPermaLink="false">http://dotnetexperience.com/?p=37</guid>
		<description><![CDATA[A personal development plan is a good way to starting thinking about your career and where you would like to see your self in few years. Here is a template of a personal development plan that I made and will be using for the next couple of years. I am and uploading it and share [...]]]></description>
			<content:encoded><![CDATA[<p>A personal development plan is a good way to starting thinking about your career and where you would like to see your self in few years.</p>
<p>Here is a template of a personal development plan that I made and will be using for the next couple of years. I am and uploading it and share it with you all.</p>
<h1 style="text-align: center;"><strong><a href="http://dotnetexperience.com/wp-content/uploads/2012/05/PersonalDevelopmentPlan.dotx">PersonalDevelopmentPlan Template</a></strong></h1>
<p style="text-align: center;">or</p>
<h1 style="text-align: center;"><strong><a href="http://dotnetexperience.com/wp-content/uploads/2012/05/Personal-Development-Plan.docx">Personal Development Plan Word<br />
</a></strong></h1>
<p>Send me a comment or email if you have a questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://dotnetexperience.com/2012/05/pdp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linq, Entity Framework, and Lazy Loading</title>
		<link>http://dotnetexperience.com/2012/04/linq-entity-framework-lazy-loading/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linq-entity-framework-lazy-loading</link>
		<comments>http://dotnetexperience.com/2012/04/linq-entity-framework-lazy-loading/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 21:15:09 +0000</pubDate>
		<dc:creator>samhaider</dc:creator>
				<category><![CDATA[ORMs]]></category>
		<category><![CDATA[anonymous types]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[entity]]></category>
		<category><![CDATA[entity framework]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[linq]]></category>

		<guid isPermaLink="false">http://dotnetexperience.com/?p=25</guid>
		<description><![CDATA[Linq is pretty awesome with any IEnumerable collection, specially when receiving data through linqtosql or entity framework, you no longer have to write your SQL statements in a string and hope that you get the results that you want. If you want to find out more about Linq, check out these Linq examples. This post [...]]]></description>
			<content:encoded><![CDATA[<p>Linq is pretty awesome with any IEnumerable collection, specially when receiving data through linqtosql or entity framework, you no longer have to write your SQL statements in a string and hope that you get the results that you want. If you want to find out more about Linq, check out <a title="Linq examples" href="http://msdn.microsoft.com/en-us/vstudio/bb688088" target="_blank">these Linq examples</a>. This post is more about using linq with entity framework and how lazy loading may slow down a large data retrieval process.</p>
<p>So what is lazy loading in entity framework, its when you are trying to move across the entities through their associations. This can be very helpful when you are moving through the entities and the data that you are accessing its not very large. But when getting large data set and then moving through the entities can mean going back to the database multiple times and getting multiple data sets.</p>
<p>Here is an example of some code which uses entity framework and a screenshot of the SQL Profile.</p>
<p>CODE:</p>
<div id="attachment_26" class="wp-caption alignleft" style="width: 850px"><a href="http://dotnetexperience.com/wp-content/uploads/2012/04/1.png"><img class="wp-image-26 " title="1" src="http://dotnetexperience.com/wp-content/uploads/2012/04/1.png" alt="" width="840" height="340" /></a><p class="wp-caption-text">Here you can see that we are assigning variables using the relationships in entity framework after getting the object through linq.</p></div>
<p>SQL Profile:</p>
<div id="attachment_27" class="wp-caption alignleft" style="width: 947px"><a href="http://dotnetexperience.com/wp-content/uploads/2012/04/2.png"><img class=" wp-image-27 " title="2" src="http://dotnetexperience.com/wp-content/uploads/2012/04/2.png" alt="" width="937" height="550" /></a><p class="wp-caption-text">Check out how many time the site had to go back to the database to retrieve all the data.</p></div>
<p>&nbsp;</p>
<p>So here is a way to not use lazy loading and get all the data through linq when the application is initially going to the database. This means the application will be going to the database once, and wont repeatedly get the data set because of the entity relationships. We can do this using anonymous types in linq. Anonymous type can be very flexiable and very powerful, here is an <a title="MSDN : Anonymous type" href="http://msdn.microsoft.com/en-us/library/bb397696.aspx" target="_blank">MSDN article about it</a>.</p>
<p>CODE:</p>
<div id="attachment_28" class="wp-caption alignleft" style="width: 1041px"><a href="http://dotnetexperience.com/wp-content/uploads/2012/04/3.png"><img class=" wp-image-28 " title="3" src="http://dotnetexperience.com/wp-content/uploads/2012/04/3.png" alt="" width="1031" height="454" /></a><p class="wp-caption-text">So we modified the code so we are setting the variable while getting the data, and not using the entity relationships.</p></div>
<p>SQL Profile:</p>
<div id="attachment_29" class="wp-caption alignleft" style="width: 947px"><a href="http://dotnetexperience.com/wp-content/uploads/2012/04/4.png"><img class=" wp-image-29 " title="4" src="http://dotnetexperience.com/wp-content/uploads/2012/04/4.png" alt="" width="937" height="550" /></a><p class="wp-caption-text">The site went to the database so few time and retieved the same amount of data.</p></div>
<p>&nbsp;</p>
<p>Using a mixture of anonymous type and linq to entity framework can be pretty powerful if it is used properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://dotnetexperience.com/2012/04/linq-entity-framework-lazy-loading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft, Opensource?&#8230;. Mind Blasting!</title>
		<link>http://dotnetexperience.com/2012/04/microsoft-opensource-mind-blasting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-opensource-mind-blasting</link>
		<comments>http://dotnetexperience.com/2012/04/microsoft-opensource-mind-blasting/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 20:55:25 +0000</pubDate>
		<dc:creator>samhaider</dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[razor]]></category>
		<category><![CDATA[web api]]></category>

		<guid isPermaLink="false">http://dotnetexperience.com/?p=17</guid>
		<description><![CDATA[So ladies and gentleman, Scott Hanselman recently announced at the Visual Studio Live conference that ASP.net MVC 4, Razor and Web API are now open source. This is quite a surprise because Microsoft does not have the perception of being &#8220;open&#8221;, but here is some reasons why being open is good for Microsoft: Security: Because the source code is [...]]]></description>
			<content:encoded><![CDATA[<p>So ladies and gentleman, <a title="Scott Hanselman's Blog" href="http://www.hanselman.com/blog/ASPNETMVC4ASPNETWebAPIAndASPNETWebPagesV2RazorNowAllOpenSourceWithContributions.aspx" target="_blank">Scott Hanselman</a> recently announced at the Visual Studio Live conference that ASP.net MVC 4, Razor and Web API are now open source. This is quite a surprise because Microsoft does not have the perception of being &#8220;open&#8221;, but here is some reasons why being open is good for Microsoft:</p>
<ul>
<li><span style="text-decoration: underline;">Security</span>: Because the source code is open and available for anyone to fix bugs and add features and functionality, Microsoft has to be more rigorous in doing security check and make sure that someone is not sending our data to china. Microsoft is already saying that every time that someone submits a piece of code they will run it against there standard to make sure that it is up to par.</li>
</ul>
<ul>
<li><span style="text-decoration: underline;">Quality and Customability</span>: Because it is available to anyone, potentially every developer can improve the quality by contributing there expertise to the finished product. The same way they can add features that may fit there needs which can be used by the others in the community.</li>
</ul>
<div>
<p>If you don&#8217;t know what is MVC, thanks for reading the article  any ways ,but if you want to find out more about MVC check out the <a title="MVC at asp.net" href="http://asp.net/mvc" target="_blank">asp.net</a> website. They also have some great tutorials&#8230; Oh and you can find the source code for the asp.net web stack <a href="http://aspnetwebstack.codeplex.com">here at codeplex.com</a>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://dotnetexperience.com/2012/04/microsoft-opensource-mind-blasting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Blog Post &#8230;</title>
		<link>http://dotnetexperience.com/2012/04/first-blog-post/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=first-blog-post</link>
		<comments>http://dotnetexperience.com/2012/04/first-blog-post/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 21:44:16 +0000</pubDate>
		<dc:creator>samhaider</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dotnetexperience.com/?p=11</guid>
		<description><![CDATA[Since I am starting this blog all over again. I am going to list some of the technologies that I am playing with currently, just as a time stamp : .net 4.0 / Visual Studio 2010 .net 4.5 Beta / Visual Studio 11 Beta WCF 4 MVC 3.0 MVC 4.0 Beta HTML 5 AJAX / [...]]]></description>
			<content:encoded><![CDATA[<p>Since I am starting this blog all over again. I am going to list some of the technologies that I am playing with currently, just as a time stamp :</p>
<ul>
<li>.net 4.0 / Visual Studio 2010</li>
<li>.net 4.5 Beta / Visual Studio 11 Beta</li>
<li>WCF 4</li>
<li>MVC 3.0</li>
<li>MVC 4.0 Beta</li>
<li>HTML 5</li>
<li>AJAX / JSON</li>
<li>Jquery 1.7.2</li>
<li>Entity Framework 4.1</li>
<li>Sharepoint 2010</li>
<li>Linq to SQL</li>
<li>SQL 2008 R2</li>
<li>SQL 2012 Server</li>
<li>Windows 8 Beta</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dotnetexperience.com/2012/04/first-blog-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

