<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cesar de la Torre - BLOG </title><link>http://blogs.msdn.com/b/cesardelatorre/</link><description>I work in Microsoft as Architect. So, this blog is about technical tips and experiences I have with the following:
Software Architecture tips, N-Layered, N-Tier and SOA Architectures, SOA development (WS-*; WCF), Cloud-Computing, Windows Azure, etc.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Creating several Entity Diagrams within a single Model in EF 5.0 and Visual Studio 2012</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/06/03/creating-several-entity-diagrams-within-a-single-model-in-ef-5-0-and-visual-studio-2012.aspx</link><pubDate>Sun, 03 Jun 2012 16:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10314389</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10314389</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10314389</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/06/03/creating-several-entity-diagrams-within-a-single-model-in-ef-5-0-and-visual-studio-2012.aspx#comments</comments><description>&lt;p&gt;This feature is killer and it’s been waited for long time by any developer or company who use EF visual models with a lot of entities.&lt;/p&gt;  &lt;p&gt;Think about a model where you have hundreds of entities.., opening a single diagram with 200 entities doesn’t make sense and it is too slow and kind of unmanageable. &lt;/p&gt;  &lt;p&gt;Now, with EF 5.0 and Visual Studio 2012, you can have many diagrams that visually Split the same entity model. This is cool, even more than the coloring feature. &lt;/p&gt;  &lt;p&gt;For instance, in the model below, I have selected a group of entities (entities related with ‘Customer’), then you right-click on any of those entities and select the “Mode to new Diagram” option:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4643.image_5F00_4A0089CA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6354.image_5F00_thumb_5F00_53692273.png" width="820" height="443" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So now I can have a simpler entity diagram showing only the entities related to ‘Customer’. In this case, I called ‘CRM’ to this second diagram:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1018.image_5F00_138F1621.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4606.image_5F00_thumb_5F00_1A31F9D7.png" width="822" height="475" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also do it in a COPY/PASTE way. so, any entity can be showed in several diagrams, etc.&lt;/p&gt;  &lt;p&gt;I want to highlight that both diagrams are like a VIEW of the same MODEL, which has all the entities.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A given MODEL (.edmx) can have now many visual DIAGRAMS&lt;/strong&gt;. This is really convenient for visually isolating certain areas of high complex and large models. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10314389" width="1" height="1"&gt;</description></item><item><title>Coloring Entities with EF 5.0 RC and VS.2012 RC</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/06/03/coloring-entities-with-ef-5-0-rc-and-vs-2012-rc.aspx</link><pubDate>Sun, 03 Jun 2012 15:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10314381</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10314381</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10314381</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/06/03/coloring-entities-with-ef-5-0-rc-and-vs-2012-rc.aspx#comments</comments><description>&lt;p&gt;In&lt;strong&gt; Visual Studio 2012 RC&lt;/strong&gt; (the Release Candidate was released last week on May 31st 2012) and &lt;strong&gt;Entity Framework 5.0 RC&lt;/strong&gt;, the &lt;strong&gt;Entity Designer&lt;/strong&gt; surface of EF MODEL/DATABASE FIRST, now supports &lt;strong&gt;entity shape coloring&lt;/strong&gt;. &lt;br /&gt;This is really nice to differentiate categories, like when you have several &lt;strong&gt;AGGREGATES&lt;/strong&gt; within your &lt;strong&gt;MODEL&lt;/strong&gt;, etc.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Here is a sneak peak of what we have in the RC:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4186.image_5F00_5276E4C4.png"&gt;&lt;img width="846" height="411" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3404.image_5F00_thumb_5F00_2AC042CD.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On the other hand, when dealing with DDD Domain Models (Domain Driven Design approach), I think EF CODE-FIRST fits much better (No anemic-domain-model, entity classes can have their own logic in a straightforward way, just adding methods, etc.). Using this second approach (CODE-FIRST), we directly create/code entities as classes and therefore we don&amp;rsquo;t use any Entity Designer.&lt;/p&gt;
&lt;p&gt;Sure, you could always add partial clases with methods and logic&amp;nbsp;to the entity classes generated by the visual entity designer&amp;nbsp;or POCO entity T4 templates, but that is kind of a workaround.. It is not so 'clean code'. ;)&lt;/p&gt;
&lt;p&gt;In any case, having the entity shape coloring is very convenient to differentiate categories, if you are using the visual Entity Designer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10314381" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Entity_2D00_Framework/">Entity-Framework</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category></item><item><title>Creating a Windows 8 Release Preview Master VHD</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/05/31/creating-a-windows-8-release-preview-master-vhd.aspx</link><pubDate>Thu, 31 May 2012 21:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10312781</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10312781</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10312781</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/05/31/creating-a-windows-8-release-preview-master-vhd.aspx#comments</comments><description>&lt;p&gt;You can install Windows 8 into a .VHD following a similar process (like &lt;a href="http://blogs.msdn.com/b/cesardelatorre/archive/2012/02/29/installing-windows-8-consumer-preview-as-vhd-from-a-bootable-usb-pen-on-a-samsung-slate-series-7-tablet.aspx"&gt;this post&lt;/a&gt; I wrote) than when you install it on a raw hard drive, but if you want to have a clean master .vhd which is not related to any specific installation and machine name, and you want to re-use this master .vhd in many machines over time, then the following procedure is much better.&lt;/p&gt;
&lt;h1&gt;Requirements&lt;/h1&gt;
&lt;p&gt;- &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=5753"&gt;Windows AIK for Windows 7&lt;/a&gt; (To get the imagex.exe tool) &lt;br /&gt;- &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=5188"&gt;AIK supplement for Windows 7 SP1&lt;/a&gt; &lt;br /&gt;- Windows 8 .iso file or DVD&lt;/p&gt;
&lt;p&gt;We need the Windows AIK and complement only to get the imagex.exe. So, if you don&amp;rsquo;t have it, just install Windows AIK setup, and then you must update it with the AIK supplement. In this second case, you just need to copy all the AIK supplement over the Windows AIK installation path, like doing it with the following command (Where we have the AIK supplement in the F:\ drive, like a DVD):&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;xcopy E:\ "C:\Program Files\Windows AIK\Tools\PETools" /ERDY&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Creating the .VHD&lt;/h1&gt;
&lt;p&gt;This is the first step. We will create a dynamic disk because it takes less space when it is not started, and if desired, you could always change it to a fixed disk.&lt;/p&gt;
&lt;p&gt;In order to create a .VHD we can use the Windows Disk Management or the command tool DISKPART.EXE.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll use the Windows Disk Management Tool, as it is easier:&lt;/p&gt;
&lt;p&gt;1. In menu &amp;ldquo;Action&amp;rdquo; select &amp;ldquo;Create VHD&amp;rdquo;. &lt;br /&gt;2. Write the path where you want to store the .vhd file, the maximum file size (I'll go for 50GB) and the vistual disk type (I'll go for &amp;ldquo;Dynamically Expanding&amp;rdquo;). &lt;br /&gt;3. Initialize the disk with the option &amp;ldquo;Initialize Disk, in the contextual menu. &lt;br /&gt;4. Select the partition style. Currently the option GPT doesn't work for virtual machine booting because they do not support UEFI. &lt;br /&gt;5. Then, we create the partition for the operating system. Right click on the free space of the disk and select &amp;ldquo;New Simple Volume&amp;rdquo;. In the wizard you must specify the size of the partition, the drive letter, etc.&lt;/p&gt;
&lt;h1&gt;Burning the Windows 8 .iso image into the .VHD&lt;/h1&gt;
&lt;p&gt;To do so, we need the command line tool called IMAGEX.EXE, which is included into the Windows AIK, in Windows\Program Files\Windows AIK\Tools\amd64 (or x86, etc.).&lt;/p&gt;
&lt;p&gt;Before burning the Windows 8 operating system image we must check and find the index of the concrete Windows 8 installation we want to install (sometimes there are several possible installation within the same .ISO or DVD).&lt;/p&gt;
&lt;p&gt;In this case, F:\ drive is the drive where I have the Windows 8 installation bits (DVD or mounted .ISO drive):&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;imagex&amp;nbsp; /info F:\sources\install.wim&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll get a long output text where you&amp;rsquo;ll need to find the INDEX NUMBER you want to install. For instance INDEX=&amp;ldquo;1&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Then, just burn it!!!:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;imagex /apply d:\sources\install.wim 1 W: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;W:\ is in this case my mounted .VHD where I&amp;rsquo;m burning the Windows 8 bits.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Setting the .VHD Boot&lt;/h1&gt;
&lt;h3&gt;Writing the boot sector and Master Boot Record&lt;/h3&gt;
&lt;p&gt;Once we have all the Windows 8 bits within the .VHD, we need it to be able to boot. In order to do so, we need to write a Windows 8 boot sector and the Master Boot Record. We perform this step with the BOOTSECT.EXE command tool. This tool is available within the folder \Boot in the Windows 8 setup bits, and the sub-folder related to our architecture (x86, x64, etc.). So, type:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bootsect /nt60 W: /mbr&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Mark the boot partition as active&lt;/h3&gt;
&lt;p&gt;You can do this step using the Disk Manager, selecting the internal partition of our .VHD and right-clicking on it, then select &amp;ldquo;Mark partition as active&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Another choice is doing the same step but using diskpart.exe and the &amp;ldquo;active&amp;rdquo; command.&lt;/p&gt;
&lt;p&gt;AND THIS IS IT!!!&lt;/p&gt;
&lt;p&gt;You could boot from this .VHD on any computer, like copying the .VHD and then using BCDEDIT in order to relate a boot option to this new .VHD. The first boot will be like a new configuration where you need to provide the computer name, and a few customization options.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;(OPTIONAL) BOOTING FROM A .VHD WITHIN A USB-PEN (WINDOWS TO GO)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want to copy this .VHD and boot from a USB pen, then you also need to provide the boot information (BCD) using the tool BCDBOOT.EXE (available in %WINDIR%\System32), like the following:&lt;/p&gt;
&lt;p&gt;bcdboot X:\Windows /s J:&lt;/p&gt;
&lt;p&gt;Where W: is our drive for the physical USB-PEN and X: is the drive for the mounted .VHD disk copied into that USB-pen (mounted as a disk).&lt;/p&gt;
&lt;h1&gt;(OPTIONAL) CONFIGURING BOOT OPTIONS&lt;/h1&gt;
&lt;p&gt;You might want to change dual boot options, option string names, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When you want to configure the boot options of windows you can use &lt;b&gt;bcdedit.exe&lt;/b&gt; to modify the boot settings.&lt;/p&gt;
&lt;p&gt;For instance, once you have booted in Windows 8 (any boot, you might have 2 'Windows 8' option strings... ;-)), you might want to change those boot options strings. In order to do so, start a CMD prompt and run bcdedit.exe (in \Windows\System32) to see the GUID of your boot options:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /v&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Remember/copy the GUID of your VHD installation and type the following line, of course, changing my 'xxxxxxxx' stuff to your GUID.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} description "Windows 8 .VHD Image"&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;You can put the description you like, but the above line will change the description for your VHD installation boot option.&lt;/p&gt;
&lt;p&gt;You can also change the order of the boot options typing the following:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;Finally, once you have these kind of .VHD images, you can copy it and have as many BOOT options as you want.&lt;/p&gt;
&lt;p&gt;The easiest way is to copy an originall boot menu option, like:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /copy {Original_GUID_Number} /d "my new description"&lt;/b&gt; &lt;br /&gt;or &lt;br /&gt;&lt;b&gt;bcdedit /copy {current} /d "my new description" &lt;br /&gt;&lt;/b&gt;or &lt;br /&gt;&lt;b&gt;bcdedit /copy {default} /d "my new description"&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Type again the following to see the new GUID for your new copied boot option:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /v&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Copy that GUID to a notepad or a paper...&lt;/p&gt;
&lt;p&gt;After that, you must change the 2 pointers within the menu option, so they point to the new/right .VHD file: &lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;bcdedit /set {My_new_GUID_Number} device vhd=[C:]\MyNewVMFile.vhd&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bcdedit /set {My_new_GUID_Number} osdevice vhd=[C:]\MyNewVMFile.vhd&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10312781" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+8/">Windows 8</category></item><item><title>Entity Framework Code First DbContext and SQL Azure Connection Fault Handling</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/04/24/entity-framework-code-first-dbcontext-and-sql-azure-connection-fault-handling.aspx</link><pubDate>Tue, 24 Apr 2012 19:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297302</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10297302</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10297302</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/04/24/entity-framework-code-first-dbcontext-and-sql-azure-connection-fault-handling.aspx#comments</comments><description>&lt;p&gt;&lt;img width="244" height="72" title="image" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-84-75-metablogapi/7446.image_5F00_thumb_5F00_444062C6.png" border="0" /&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/imgres?imgurl=http://www.scip.be/ImagesLogos/Small/Article_EntityFramework.jpg&amp;amp;imgrefurl=http://www.scip.be/index.php%3FPage%3DArticles%26Lang%3DEN%26Category%3DEntity%2520Framework&amp;amp;usg=__UHLSnJ6EkcIvRjbYUlnagIY2Qq4=&amp;amp;h=101&amp;amp;w=135&amp;amp;sz=11&amp;amp;hl=es&amp;amp;start=2&amp;amp;zoom=1&amp;amp;itbs=1&amp;amp;tbnid=MRZOAWQhPnckQM:&amp;amp;tbnh=69&amp;amp;tbnw=92&amp;amp;prev=/images%3Fq%3DMicrosoft%2BEntity%2BFramework%26hl%3Des%26sa%3DG%26gbv%3D2%26tbs%3Disch:1"&gt;&lt;img width="92" height="69" src="http://t2.gstatic.com/images?q=tbn:MRZOAWQhPnckQM:" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been working migrating an App to &lt;em&gt;Windows Azure&lt;/em&gt; and &lt;em&gt;SQL Azure&lt;/em&gt;. This app is using &lt;strong&gt;Entity Framework 4.3 Code First&lt;/strong&gt; and &lt;strong&gt;DbContext&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;One important point is related to the SQL Azure Conection Fault Handling. If you don&amp;rsquo;t know about this topic, you can read this explanatory info:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://social.technet.microsoft.com/wiki/contents/articles/1541.sql-azure-connection-management-en-us.aspx" href="http://social.technet.microsoft.com/wiki/contents/articles/1541.sql-azure-connection-management-en-us.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/1541.sql-azure-connection-management-en-us.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then, regarding a workaround when using Entity Framework 4.0 (based on ObjectContext), I wrote this post a few months ago:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://blogs.msdn.com/b/cesardelatorre/archive/2010/12/20/handling-sql-azure-connections-issues-using-entity-framework-4-0.aspx" href="http://blogs.msdn.com/b/cesardelatorre/archive/2010/12/20/handling-sql-azure-connections-issues-using-entity-framework-4-0.aspx"&gt;http://blogs.msdn.com/b/cesardelatorre/archive/2010/12/20/handling-sql-azure-connections-issues-using-entity-framework-4-0.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also, this link, provided by the AppFabric Customer Advisory Team, is quite useful, too:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx" href="http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx"&gt;http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But, this info was all related to EF 4.0, ObjectContext, EF Templates (STE &amp;amp; POCO T4templates, etc.), not about EF 4.3, CODE FIRST APPROACH and DbContext.&lt;/p&gt;
&lt;p&gt;Therefore, this post is about how to handle &lt;strong&gt;SQL Azure Connection Faults&lt;/strong&gt; (something common in the Windows Azure platform) when using EF 4.3, DbContext and CODE FIRST APPROACH.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;THE ISSUE:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you take a look to the link provided by the AppFabric Customer Advisory Team, about the &amp;lsquo;&lt;strong&gt;Retry Policy&lt;/strong&gt;&amp;rsquo; when creating the EF Context. The tactic is to implement the &lt;strong&gt;OnContextCreated()&lt;/strong&gt; partial method of your &lt;strong&gt;model context&lt;/strong&gt; (based on &lt;strong&gt;ObjectContext&lt;/strong&gt;) which is called each time a new context is instantiated. In this partial method, &lt;strong&gt;you employ a retry policy which opens a connection, submits a dummy query and handles exceptions with proper closure of invalid connections. In this way, the pool is &amp;lsquo;cleansed&amp;rsquo; of all connections that have disconnected due to network glitches or idle expirations.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was the initial suggested code for &lt;b&gt;EF 4.0&lt;/b&gt; and &lt;b&gt;ObjectContext&lt;/b&gt;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;partial void &lt;span style="font-size: x-small;" size="2"&gt;OnContextCreated() &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxRetries = 10; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int DelayMS = 100;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;RetryPolicy policy = new RetryPolicy&amp;lt;SqlAzureTransientErrorDetectionStrategy&amp;gt;(MaxRetries, TimeSpan.FromMilliseconds(DelayMS)); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; policy.ExecuteAction(() =&amp;gt; &lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string ss = Connection.ConnectionString; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;span style="font-size: x-small;" size="2"&gt;Connection.Open(); &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var storeConnection = (SqlConnection)((EntityConnection)Connection).StoreConnection; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SqlCommand("declare @i int", storeConnection).ExecuteNonQuery(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // throw new ApplicationException("Test only"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection.Close(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw e; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ); &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;The issue is that this is based on the &lt;strong&gt;OnContextCreated()&lt;/strong&gt; method which is related to your &lt;strong&gt;ObjectContext&lt;/strong&gt; class.&lt;/p&gt;
&lt;p&gt;When using &lt;strong&gt;CODE-FIRST&lt;/strong&gt; approach, we use a context based on the &lt;strong&gt;DbContext&lt;/strong&gt;, so we&amp;rsquo;ll have a slightly different code.&lt;/p&gt;
&lt;p&gt;Instead of placing that code into the OnContextCreated() we can put it within the constructor of your &lt;strong&gt;model context&lt;/strong&gt; (in this case based on &lt;strong&gt;DbContext&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Take into account that we&amp;rsquo;re using the &lt;strong&gt;RetryPolicy&lt;/strong&gt; class, which is implemented in a special building block made by &lt;em&gt;Microsoft Pattern &amp;amp; Practices &lt;/em&gt;team, called &amp;lsquo;&lt;strong&gt;Transient Fault Handling Application Block&lt;/strong&gt;&amp;rsquo; (good job &lt;strong&gt;Grigori &amp;amp; P&amp;amp;P team&lt;/strong&gt;!).&lt;/p&gt;
&lt;p&gt;It is available from &lt;strong&gt;NuGet&lt;/strong&gt;: &lt;a href="http://nuget.org/packages/EnterpriseLibrary.WindowsAzure.TransientFaultHandling"&gt;http://nuget.org/packages/EnterpriseLibrary.WindowsAzure.TransientFaultHandling&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See also:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/agile/archive/2011/12/02/announcing-the-enterprise-library-integration-pack-for-windows-azure-with-autoscaling-transient-fault-handling-and-more.aspx"&gt;http://blogs.msdn.com/b/agile/archive/2011/12/02/announcing-the-enterprise-library-integration-pack-for-windows-azure-with-autoscaling-transient-fault-handling-and-more.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Anyway, this would be the first version of the code for EF &amp;amp; DbContext (Still, it doesn&amp;rsquo;t work):&lt;/p&gt;
&lt;p&gt;using System.Data.Entity; &lt;br /&gt;using System.Data.Entity.Infrastructure; &lt;br /&gt;using System.Data.Entity.ModelConfiguration.Conventions;&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;using System.Data.Common; &lt;br /&gt;using System.Data.SqlClient; &lt;br /&gt;using System.Data.EntityClient; &lt;br /&gt;using Microsoft.Practices.TransientFaultHandling; &lt;br /&gt;using Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.SqlAzure; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;public class &lt;span style="background-color: #ffff00;"&gt;MyBCUnitOfWork : DbContext&lt;/span&gt; &lt;br /&gt;&lt;/strong&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Constructor where we handle 'SQL Azure and Entity Framework Connection Fault Handling' &lt;br /&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background-color: #ffff00;"&gt;public MyBCUnitOfWork() &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;DbConnection&lt;/strong&gt; currentDbConn = this.Database.Connection; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxRetries = 10; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int DelayMS = 100;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;RetryPolicy policy = new RetryPolicy&amp;lt;SqlAzureTransientErrorDetectionStrategy&amp;gt;(MaxRetries, TimeSpan.FromMilliseconds(DelayMS)); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; policy.ExecuteAction(() =&amp;gt;&lt;/strong&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;currentDbConn.Open(); &lt;span style="background-color: #ffff00;"&gt; //(Issue here!!)&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var storeConnection = (SqlConnection)currentDbConn; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SqlCommand("declare @i int", storeConnection).ExecuteNonQuery(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // throw new ApplicationException("Test only"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentDbConn.Close(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw e; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;But, that is not the only difference we need to make, because if you only put that code within the constructor, when you execute your app, you&amp;rsquo;ll get an error when executing any EF code (your Linq sentences in any real DB access you do):&lt;/p&gt;
&lt;p&gt;Exception mesage: &amp;ldquo;&lt;strong&gt;&lt;span style="font-size: x-small; background-color: #ffff00;" size="2"&gt;EntityConnection can only be constructed with a closed DbConnection&lt;/span&gt;&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This issue is due to some internal changes in EF 4.3 DbContext, and it is explained by my friend &lt;strong&gt;Diego Vega&lt;/strong&gt; in the following post:&lt;/p&gt;
&lt;h5&gt;Exception from DbContext API: EntityConnection can only be constructed with a closed DbConnection&lt;/h5&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/diego/archive/2012/01/26/exception-from-dbcontext-api-entityconnection-can-only-be-constructed-with-a-closed-dbconnection.aspx"&gt;http://blogs.msdn.com/b/diego/archive/2012/01/26/exception-from-dbcontext-api-entityconnection-can-only-be-constructed-with-a-closed-dbconnection.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a very nice explanatory information about that issue. In any case, the solution for that exception is to open the connection using the ObjectContext object instead of the DbConnection.&lt;/p&gt;
&lt;p&gt;Instead of this line:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;currentDbConn.Open(); &lt;span style="background-color: #ffff00;"&gt; //(Issue here!!)&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We use this other line of code:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;((IObjectContextAdapter)this).ObjectContext.Connection.Open();&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Then, we&amp;rsquo;ll be able to run all the workaround within a DbContext constructor, like the final code below:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;public class MyBCUnitOfWork &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; : DbContext, IQueryableUnitOfWork&lt;/strong&gt; &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Constructor where we handle 'SQL Azure and Entity Framework Connection Fault Handling' &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;public MyBCUnitOfWork() &lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SQL Azure and Entity Framework Connection Fault Handling &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //See: &lt;a href="http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx?Redirected=true"&gt;http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx?Redirected=true&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnection currentDbConn = this.Database.Connection; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxRetries = 10; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int DelayMS = 100;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetryPolicy policy = new RetryPolicy&amp;lt;SqlAzureTransientErrorDetectionStrategy&amp;gt;(MaxRetries, TimeSpan.FromMilliseconds(DelayMS)); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; policy.ExecuteAction(() =&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //(CDLTLL) Using ObjectContext.Connection because there's an issue when using DbConnection.Open() here. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //See this blog post from Diego Vega: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;a href="http://blogs.msdn.com/b/diego/archive/2012/01/26/exception-from-dbcontext-api-entityconnection-can-only-be-constructed-with-a-closed-dbconnection.aspx"&gt;http://blogs.msdn.com/b/diego/archive/2012/01/26/exception-from-dbcontext-api-entityconnection-can-only-be-constructed-with-a-closed-dbconnection.aspx&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;span style="background-color: #ffff00;"&gt;((IObjectContextAdapter)this).ObjectContext.Connection.Open();&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var storeConnection = (SqlConnection)currentDbConn; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SqlCommand("declare @i int", storeConnection).ExecuteNonQuery(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // throw new ApplicationException("Test only"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentDbConn.Close(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw e; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;
&lt;p&gt;With that, we would have the &amp;lsquo;&lt;strong&gt;Retry Policy&lt;/strong&gt;&amp;rsquo; implemented when creating any &lt;strong&gt;DbContext&lt;/strong&gt; object, so you employ a &lt;strong&gt;retry policy which opens a connection, submits a dummy query and handles exceptions with proper closure of invalid connections. In this way, the connection-pool is &amp;lsquo;cleansed&amp;rsquo; of all connections that have disconnected due to network glitches, Sql Azure cluster-fail-over or idle expirations.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297302" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Entity_2D00_Framework/">Entity-Framework</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Window+Azure/">Window Azure</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/SQL+Azure/">SQL Azure</category></item><item><title>Domain Driven Design (DDD) &amp; Visual Studio 11 Beta ALM, great fit!</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/04/06/domain-driven-design-ddd-amp-visual-studio-11-beta-alm-great-fit.aspx</link><pubDate>Fri, 06 Apr 2012 15:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10291467</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10291467</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10291467</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/04/06/domain-driven-design-ddd-amp-visual-studio-11-beta-alm-great-fit.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="569"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="133"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4786.image_5F00_61DA995D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4370.image_5F00_thumb_5F00_20CC19F9.png" width="173" height="109" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="82"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7587.image_5F00_1B110053.png"&gt;           &lt;br /&gt;            &lt;br /&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8686.image_5F00_thumb_5F00_652C0B38.png" width="48" height="49" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="352"&gt;         &lt;p align="center"&gt;           &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7607.image_5F00_6B72E1C6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4786.image_5F00_thumb_5F00_10902C33.png" width="319" height="39" /&gt;&lt;/a&gt;&lt;/a&gt;             &lt;br /&gt;&lt;font size="6"&gt;&lt;/font&gt;&lt;/p&gt;          &lt;p align="center"&gt;&lt;font size="6"&gt;&lt;strong&gt;ALM&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Domain Driven Design&lt;/strong&gt; (&lt;strong&gt;DDD&lt;/strong&gt;) is especially suitable for creating &lt;strong&gt;long-term LOB Apps,&lt;/strong&gt; but usually, DDD is presented as a very patterns &amp;amp; architecture related subject (topics like &lt;em&gt;Bounded-Contexts, Domain-Models&lt;/em&gt;, patterns like &lt;em&gt;Repository, Aggregate, Value-Object&lt;/em&gt;, etc.), like we actually did in our &lt;a href="http://msdn.microsoft.com/es-es/architecture/en/"&gt;‘DDD Patterns Guidance with .NET’&lt;/a&gt;, but those are not, in fact, the most important topics when really applying DDD. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Domain Driven Design is much more than Architecture and Design Patterns. It implies a specific &lt;strong&gt;way of working&lt;/strong&gt; for development teams and their &lt;strong&gt;relationship with Domain Experts&lt;/strong&gt;, a good &lt;strong&gt;identification of Domain Model elements&lt;/strong&gt; based on the &lt;strong&gt;Ubiquitous Language&lt;/strong&gt; (specific vocabulary, terms, etc.) coming from the &lt;strong&gt;Domain Experts&lt;/strong&gt;, &lt;strong&gt;stakeholders&lt;/strong&gt; and &lt;strong&gt;users&lt;/strong&gt;, for every Domain-Model we can have. All those topics are more related to the &lt;strong&gt;Application Life-cycle Management process&lt;/strong&gt; (&lt;strong&gt;ALM&lt;/strong&gt;). &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;DDD is a way to build apps, a way for the team, to work in projects.&lt;/b&gt; According to DDD, the project’s team should work in a specific way, should have &lt;strong&gt;direct communication with the Domain Experts&lt;/strong&gt; (the customer or users, in many cases). The team should use an &lt;strong&gt;‘Ubiquitous Language’ &lt;/strong&gt;projected up to the the &lt;strong&gt;code itself&lt;/strong&gt; (entity names, object names, etc.) which has to be the same language/terms used by the domain experts and users.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3073.image_5F00_52A186F4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2313.image_5F00_thumb_5F00_50F0BB20.png" width="805" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Whenever I say ‘&lt;strong&gt;Domain Expert&lt;/strong&gt;’ (DDD terminology) I also mean, for most applications, ‘&lt;strong&gt;Customer&lt;/strong&gt;’, ‘&lt;strong&gt;Stakeholder&lt;/strong&gt;’, ‘&lt;strong&gt;Product Owner/Manager&lt;/strong&gt;’ or even ‘&lt;strong&gt;User&lt;/strong&gt;’.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The following diagram shows the typical DDD Application Life Cycle:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7418.image_5F00_64A2A489.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5751.image_5F00_thumb_5F00_5F90410D.png" width="628" height="505" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;&lt;font size="2" face="Segoe UI"&gt;Like mentioned, because &lt;font style="font-weight: bold"&gt;DDD requires a direct communication &amp;amp; collaboration between the Domain Experts (users) &amp;amp; the development team&lt;/font&gt; (and I mean direct communication flowing from the Domain Experts to the developers themselves, not through any ‘man-in-the-middle’ figure), &lt;font style="font-weight: bold"&gt;we need to enable developers and domain experts to work together more closely&lt;/font&gt;.&lt;/font&gt;&lt;/h1&gt;  &lt;p&gt;&lt;font size="2"&gt;In most development life cycles, the requirements and changes coming from the Domain Experts are often misunderstood caused by the differences between the lay vocabulary of the users (Ubiquitous Language of the Domain experts) and the technical vocabulary of the analysts and developers.&amp;#160;&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Additionally, as you can tell from the DDD Application Life Cycle diagram, DDD is complementary with most Agile methodologies, like SCRUM.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;In DDD but also in most agile methodologies, we seek to address and accommodate change, we ‘embrace the change’ coming from the customer. But, the basic problem remains: &lt;strong&gt;Users &amp;amp; Domain-Experts must be able to express their requirements in a clear, concise and unambiguous manner that can be understood by the developers&lt;/strong&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;h1&gt;Including Domain-Experts &amp;amp; Customers in the Development workflow&lt;/h1&gt;  &lt;p&gt;&lt;font size="2"&gt;A key part of successful application development is to listen to what Domain-Experts &amp;amp; customers say and to build what      &lt;br /&gt;they really want. To assist with understanding and documenting users’ requirements, &lt;/font&gt;&lt;font size="2"&gt;&lt;strong&gt;Visual Studio 11        &lt;br /&gt;Beta&lt;/strong&gt; provides &lt;strong&gt;&lt;em&gt;Storyboarding tools&lt;/em&gt;&lt;/strong&gt;. These tools enable the development team to discuss and visualize       &lt;br /&gt;requirements with users and to understand how users expect to use the application. The storyboard can be       &lt;br /&gt;saved to Microsoft SharePoint and linked to Visual Studio Team Foundation Server 11 Beta work items to       &lt;br /&gt;help provide context for the developers.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;In DDD and in most Agile environments, developers must be able to quickly demonstrate the results of their labors and      &lt;br /&gt;obtain &lt;u&gt;feedback from Domain Experts and users&lt;/u&gt;, again in a clear, concise, and unambiguous manner. Visual Studio 11 Beta       &lt;br /&gt;provides tools (like &lt;strong&gt;&lt;em&gt;Feedback Manager Tool&lt;/em&gt;&lt;/strong&gt;) that enable a stakeholder (like a Domain-Expert) to review the software and provide &lt;strong&gt;actionable feedback&lt;/strong&gt;. The team can generate the appropriate tasks to deal with this feedback, plan for their implementation, and allocate the corresponding work to the appropriate members of the team. The feedback is stored in the &lt;em&gt;Visual Studio Team Foundation Server 11 Beta&lt;/em&gt; database and is available to the developers who are responsible for incorporating any required changes.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Below is shown the working process and collaboration between the Domain-Experts (stake holders, users &amp;amp; customers) and the development team:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7485.image_5F00_68BC5681.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1541.image_5F00_thumb_5F00_578878DE.png" width="729" height="530" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Gathering Domain-Experts requirements&lt;/h2&gt;  &lt;p&gt;&lt;font size="2"&gt;The first step when getting the story from the Domain-Experts is gathering the requirements and explanations of the Domain. For that purpose it is very useful to have toolsets to visualize ideas and draw story-boards.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The &lt;strong&gt;Storyboarding Tool&lt;/strong&gt; is an add-in for PowerPoint that enables a developer to work with a &lt;strong&gt;Domain-Expert&lt;/strong&gt; in order to understand the business requirements and to plan how the application should function. With this tool, you can quickly mock-up a user interface and create animations that illustrate how the user expects to navigate through the application, show sample data, simulate events, and generally get a feel for what the user wants.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;StoryBoarding Tool&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1207.image_5F00_4D07A4BE.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1602.image_5F00_thumb_5F00_57C43A6C.png" width="753" height="426" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The Domain-Experts and users simply use PowerPoint to view it.      &lt;br /&gt;The &lt;strong&gt;Storyboarding Tool&lt;/strong&gt; provides a rich &lt;strong&gt;library of controls&lt;/strong&gt;, but you can &lt;strong&gt;also create custom shapes&lt;/strong&gt;, import them into the storyboard shape library, and share them with the rest of the team.&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Gathering Domain-Experts and Customer Feedback&lt;/h2&gt;  &lt;p&gt;&lt;font size="2"&gt;Your customers and end users are the reason that you build software. Therefore, &lt;strong&gt;obtaining&lt;/strong&gt; their feedback, and &lt;strong&gt;feedback from the Domain-Experts&lt;/strong&gt;, is critical to the success of the project. Visual Studio 11 Beta provides the &lt;strong&gt;Feedback Manager tool&lt;/strong&gt;, which enables these &lt;strong&gt;key Domain-Experts and stakeholders&lt;/strong&gt; to &lt;strong&gt;provide&lt;/strong&gt; timely and &lt;strong&gt;actionable feedback&lt;/strong&gt; to the development team. Actionable feedback includes not just text comments but also videos, screenshots, and audio annotations that help the user to highlight any specific issues. These items help the developer to understand the context in which the user was performing the actions when a problem occurred or a feature       &lt;br /&gt;was found to work incorrectly.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font size="2"&gt;Using the &lt;strong&gt;Feedback Manager&lt;/strong&gt;, the user can run the application and record the ways in which the application is used. The user can also take screenshots or record audio and video at any point, perhaps providing a running narrative of the tasks that he is performing.&lt;/font&gt;&lt;/p&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="579" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="383"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0636.image_5F00_05DDEA8D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2781.image_5F00_thumb_5F00_6D1E9D7C.png" width="247" height="581" /&gt;&lt;/a&gt;             &lt;p align="left"&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="194"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0131.image_5F00_4A0E2C0C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7558.image_5F00_thumb_5F00_4640616F.png" width="249" height="587" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;The &lt;strong&gt;Feedback Manager&lt;/strong&gt; records the user’s interactions with your application and logs keystrokes, mouse clicks, and     &lt;br /&gt;other events. When the user has finished the feedback session, clicking Submit saves the feedback information to     &lt;br /&gt;the &lt;strong&gt;Visual Studio Team Foundation Server 11 Beta&lt;/strong&gt; database. The user also can provide a rating and comments for the application.&lt;/p&gt;  &lt;h1&gt;Managing the Life Cycle of long term Applications&lt;/h1&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Domain Driven Design&lt;/strong&gt; is not suitable for any kind of applications. For instance, Data-Driven Apps, or static and short-term apps should not be built using DDD. It would be like building a bicycle using rocket science/technology. The DDD learning curve, patterns complexity, loosely-coupled components and and its carefully Domain oriented way of working wouldn’t make sense for simple and short-term apps.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;On the other hand, &lt;strong&gt;DDD is suitable for long-term apps which have quite a lot of business logic&lt;/strong&gt;, but, where &lt;strong&gt;its business logic is always evolving&lt;/strong&gt;. Typical DDD apps have “&lt;strong&gt;ever-changing business rules&lt;/strong&gt;”. And then, whenever we have an application where it is always changing and evolving, we will have &lt;strong&gt;many application versions to deploy during its life&lt;/strong&gt; (possibly, during quite a few years). For this cases, &lt;strong&gt;a right Operations framework and life cycle management is critical&lt;/strong&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;DDD applications (or specific &lt;em&gt;Bounded-Contexts&lt;/em&gt;) are typically a living asset, with a life cycle that spans the activities that represent the entire lifetime of the product, from identification of business requirements, through development, testing, deployment, support, and maintenance, right up to the eventual retirement of the application.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;If we have many versions to deploy along the time (Typical &lt;strong&gt;DDD long-term apps&lt;/strong&gt;), &lt;strong&gt;each time we deploy a newer version in the PRODUCTION environment, we are not only introducing new functionality, it is quite possible that we will be introducing new bugs to be detected and fixed.&lt;/strong&gt; As the software is used, bugs are often discovered. So the &lt;strong&gt;toolset&lt;/strong&gt; must provide facilities for &lt;strong&gt;recording issues&lt;/strong&gt;, to enable the development team to resolve them, and to provide the &lt;strong&gt;operations staff&lt;/strong&gt; with the information that they require to roll out the fixes. This interaction implies an &lt;strong&gt;inherent connection between the&lt;/strong&gt; processes that the &lt;strong&gt;development team&lt;/strong&gt; performs when it builds and maintains the software and those that the &lt;strong&gt;operations team&lt;/strong&gt; uses to &lt;strong&gt;manage the software when it is deployed&lt;/strong&gt;. &lt;strong&gt;Development and operations personnel must be able to collaborate effectively&lt;/strong&gt; because there is potential for bottlenecks to occur that will lead to delays and inefficiency wherever handoffs between the two teams exist, especially when there is scope for miscommunication between them.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Development / Operations collaboration&lt;/font&gt;&lt;/strong&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6888.image_5F00_11535C32.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5305.image_5F00_thumb_5F00_3A9A7E63.png" width="740" height="461" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Visual Studio 11 Beta&lt;/strong&gt; helps to &lt;strong&gt;align development with operations&lt;/strong&gt; into a seamless workflow, reducing the churn that can occur. For example, a common situation is that the operations team reports a bug in the live software that the development team is unable to reproduce outside the production environment. To help with situations such as this, &lt;em&gt;Microsoft &lt;strong&gt;IntelliTrace&lt;/strong&gt;&lt;/em&gt; has been extended to &lt;strong&gt;support the production environment&lt;/strong&gt;. By using Visual Studio Team Foundation Server 11 Beta, &lt;strong&gt;the operations team can record and capture the sequence of events that caused the bug in the Production environment and to store the trace information&lt;/strong&gt;, together &lt;strong&gt;with the appropriate production environmental data&lt;/strong&gt;. The operations team can then hand this information, together with any other observations, to the development team for analysis and triage. Following an Agile approach, the project manager can subsequently create an appropriate work item and allocate it to a developer. This workflow helps to accelerate communications between the development and operations teams, ensuring that bugs are resolved and updated software is deployed in a timely manner.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IntelliTrace in production&lt;/strong&gt; is an historical debugging tool that records the sequence of events that led to the unexpected behavior. The information that IntelliTrace captures includes diagnostic data, details of exceptions, the call stack, and a trace of where the code failed. The data that IntelliTrace captures can be stored and then replayed by a member of the development team by using Visual Studio 11 Beta. A developer with Visual Studio 11 Beta can use this information to debug the application as if it was running live on their development computer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;IntelliTrace in Production&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0216.image_5F00_5AF20E55.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5543.image_5F00_thumb_5F00_697C6EA0.png" width="836" height="448" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Working Closely with Operations Personnel&lt;/h2&gt;  &lt;p&gt;&lt;font size="2"&gt;Visual Studio provides a server monitoring solution for teams that use or want to adopt &lt;strong&gt;System Center Operations Manager (SCOM)&lt;/strong&gt;. Visual Studio can deploy a monitoring agent for ASP.NET applications running on a web server. This agent collects rich data about exceptions, performance issues, and other errors. Using the &lt;strong&gt;TFS Connector for SCOM&lt;/strong&gt;, Operations staff can file these exceptions as work items in TFS and assign them to developers to investigate in order to improve and fix production web applications. Visual Studio and the TFS connector, in conjunction with SCOM, provide a real-time improvement feedback loop for server-based applications deployed in production, leading to continuous improvements and high quality.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Closing the loop with Operations Personnel, System Center Operations Manager (SCOM) and TFS&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7563.image_5F00_45EFA46E.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6406.image_5F00_thumb_5F00_14ECA169.png" width="823" height="565" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;Summary&lt;/h1&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Domain Driven Design&lt;/strong&gt; is not only related to architecture and design patterns. In order to &lt;strong&gt;really apply the DDD approach&lt;/strong&gt;, it is fundamental to take care of the &lt;strong&gt;direct relationship between Domain Experts and the development team&lt;/strong&gt; as well as the &lt;strong&gt;relationship between production operations and the development team&lt;/strong&gt;. Visual Studio 11 provides useful tools for that. &lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291467" width="1" height="1"&gt;</description></item><item><title>Installing Windows 8 Release Preview on a .VHD file from a bootable USB-Pen</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/02/29/installing-windows-8-consumer-preview-as-vhd-from-a-bootable-usb-pen-on-a-samsung-slate-series-7-tablet.aspx</link><pubDate>Wed, 29 Feb 2012 19:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10274748</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>19</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10274748</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10274748</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/02/29/installing-windows-8-consumer-preview-as-vhd-from-a-bootable-usb-pen-on-a-samsung-slate-series-7-tablet.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;** May 31st 2012 – UPDATE TO WINDOWS 8 RELEASE PREVIEW **&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;There are quite a few steps to do, so I’ll write it down for my records.&lt;/p&gt;  &lt;p&gt;Specifically, I have installed the &lt;strong&gt;Windows 8 Release Preview&lt;/strong&gt; on a on a &lt;strong&gt;Samsung Slate Series 7 Tablet&lt;/strong&gt;, but on a .VHD with native Boot&lt;strong&gt;:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7587.image_5F00_7FAAA24F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3377.image_5F00_thumb_5F00_3F543D3B.png" width="552" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;For more info about .VHD with Native Boot, see&lt;/strong&gt; (Updated: May 31, 2012 Applies To: Windows 8):&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/library/hh825689.aspx" href="http://technet.microsoft.com/library/hh825689.aspx"&gt;http://technet.microsoft.com/library/hh825689.aspx&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;- You’ll need a &lt;strong&gt;USB keyboard&lt;/strong&gt; plugged into your tablet.&lt;/p&gt;  &lt;p&gt;- A &lt;strong&gt;USB-Pen&lt;/strong&gt; with at least &lt;strong&gt;8 Gb&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;A.- INSTALLING THE OPERATING SYSTEM&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #1&lt;/strong&gt;     &lt;br /&gt;&lt;strong&gt;Backup your data on your Series 7. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #2      &lt;br /&gt;Update BIOS&lt;/strong&gt;     &lt;br /&gt;(this step is optional – unsupported developer BIOS will resolve hardware button incorrect mapping when Windows 8 is installed.) Use at your own risk.     &lt;br /&gt;Download the last BIOS for the Series 7 Slate from the Samsung Support web site and install it following the provided procedure.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #3 - &lt;/strong&gt;&lt;strong&gt;Configure BIOS (do this even if you don't update the BIOS.)      &lt;br /&gt;&lt;/strong&gt;Enter BIOS setup: Power off the PC. Power the system back on and at the same time, press the “HOME” hardware key on the bezel. Select “ENTER SETUP” (note: if you do not have a USB keyboard attached you can use the VOL+/VOL- keys to select, Rotation Lock button as “enter”, and both vol buttons at the same time to go back.)&lt;/p&gt;  &lt;p&gt;- Select the ADVANCED menu option in the BIOS menu    &lt;br /&gt;- Change “&lt;strong&gt;Allow UEFI boot&lt;/strong&gt;” to YES     &lt;br /&gt;- Save settings and exit.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #3&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Get the Windows 8 Release Preview bits (ISO image)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First of all, you need to get the bits. I want an .ISO image so I’ll burn it on an USB pen.&lt;/p&gt;  &lt;p&gt;You can download the .ISO image from here: &lt;a title="http://windows.microsoft.com/en-US/windows-8/iso" href="http://windows.microsoft.com/en-US/windows-8/iso"&gt;http://windows.microsoft.com/en-US/windows-8/iso&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then, having an empty USB pen (it will be formatted), just burn it on it. You can use the &lt;strong&gt;&lt;em&gt;Microsoft Store USB/DVD Download Tool&lt;/em&gt;&lt;/strong&gt;. Grab it from here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool#ms_help_topics_at4"&gt;http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool#ms_help_topics_at4&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once installed, you run the tool and you’ll get a wizard where you specify the origin .ISO image and the destination bootable USB Pen:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://lh4.ggpht.com/_A3o0EjLYCNg/TJofcbNMGVI/AAAAAAAAEPs/LWFjyO9u8xI/image%5B3%5D.png" /&gt;&lt;/p&gt;  &lt;p&gt;So, ready to start the real process!.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #4 - &lt;/strong&gt;&lt;strong&gt;Booting the Windows 8 Release Preview from the USB-Pen&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Plug the bootable USB-Pen into the USB slot in your Tablet.&lt;/p&gt;  &lt;p&gt;- Start the tablet, but almost instantly (after half a second), press on the small “HOME/WINDOWS” hardware key&amp;#160; on the center of the tablet. This will show you the BOOT-MENU, so I can boot from the USB-Pen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8055.WP_5F00_000245_5F00_3E2AC072.jpg"&gt;&lt;img title="WP_000245" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="WP_000245" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6888.WP_5F00_000245_5F00_thumb_5F00_1A41E918.jpg" width="673" height="506" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Again, in order to select the right option (USB DISK), if you do not have a USB keyboard attached you can use the VOL+/VOL- keys to move up/down on the Boot menu, and then select the option pressing the second small harware key on the right of the tablet (beside the ‘on’ key).&lt;/p&gt;  &lt;p&gt;&lt;font style="background-color: rgb(255, 255, 255);"&gt;You will see a “Windows” word&lt;/font&gt; over the black background (no more the small fish of the Consumer Preview) when starting the Windows 8 setup:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1234.image_5F00_5DFB0159.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6014.image_5F00_thumb_5F00_6AD495D0.png" width="701" height="483" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then, you’ll see the initial “Windows 8” setup Window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6557.WP_5F00_000247_5F00_450A275D.jpg"&gt;&lt;img title="WP_000247" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="WP_000247" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4807.WP_5F00_000247_5F00_thumb_5F00_15F7C5B9.jpg" width="679" height="511" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STEP #5 – Creating a .VHD file drive from the Windows 8 setup process&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Instead of installing Windows 8 on the plain hard-drive, &lt;strong&gt;we’re going to create .VHD file and then we’ll install Windows 8 on that .VHD file&lt;/strong&gt;. The &lt;strong&gt;booting start will be native&lt;/strong&gt; (no HyperV), having the same performance than installing it on the plain hard-drive, but it is a much cleaner way. When I get another version of Windows 8, I’ll install it on a different .VHD file. It is a nice, clean and great way to handle native Dual/multiple booting.&lt;/p&gt;  &lt;p&gt;- Select keyboard and ‘time &amp;amp; currency’ preferences for the setup, and then press the ‘Next’ button. You’ll see a Windows 8 window with a single “Install now” button. Press on the ‘Install button’ button (This is a different way than when doing a similar setup procedure using Windows 7).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0020.WP_5F00_000266_5F00_3389A0B8.jpg"&gt;&lt;img title="WP_000266" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="WP_000266" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0172.WP_5F00_000266_5F00_thumb_5F00_5B006D22.jpg" width="725" height="545" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Carry on with the typical screens (Product Key, License, etc.) until you get to the ‘Installation type’. Select ‘Custom Install’:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1321.image_5F00_5BAD9129.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6038.image_5F00_thumb_5F00_7DC55115.png" width="752" height="447" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Go until the Drive selection screen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0317.image_5F00_462E74A2.png"&gt;&lt;img title="image" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2260.image_5F00_thumb_5F00_066C8BEC.png" width="749" height="435" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- CAUTION: You’ll get to the &lt;strong&gt;Drive selection Window&lt;/strong&gt;. Now, p&lt;span style="text-decoration: underline;"&gt;ay attention here&lt;/span&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DO NOT PICK AN EXISTING HARD DRIVE&lt;/strong&gt;. As shown in this screenshot, &lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;instead hit SHIFT-F10 to get to a console command-prompt&lt;/span&gt;&lt;/strong&gt;. We want to create and attach our VHD file and install Windows 8 to THAT instead!!.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4621.WP_5F00_000270_5F00_70BA0583.jpg"&gt;&lt;img title="WP_000270" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="WP_000270" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3618.WP_5F00_000270_5F00_thumb_5F00_2B055598.jpg" width="802" height="602" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Now we finally get a Command prompt Windows where we’ll be able to create a native bootable .VHD file-drive. We’ll install Windows 8 on that .VHD file, afterwards.&lt;/p&gt;  &lt;p&gt;- Explore de drives you can see from the command prompt (C:, D:, E:, etc.). When installing Windows, it usually creates several small initial partitions, therefore, when you do the following steps, you have to specify E:\ drive instead C:\ drive (At least, that is my case). If you try with C:\ and you get an error message saying something like &amp;quot;You don't have space enough&amp;quot;. Try specifying E:\ drive, and check the partition where you are going to create the .VHD file.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Run the Diskpart command-tool writing Diskpart.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5023.WP_5F00_000271_5F00_66953E8B.jpg"&gt;&lt;img title="WP_000271" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="WP_000271" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2605.WP_5F00_000271_5F00_thumb_5F00_00594EEE.jpg" width="745" height="560" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Now, we create the .vhd file. I’m going to create a 30GB expandable file. You can create it bigger or smaller.&lt;/p&gt;  &lt;p&gt;Type: &lt;strong&gt;Create vdisk file=E:\Windows8.vhd maximum=30000 type=expandable&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Select the .vhd file so the Windows 8 setup is able to see it as a drive&lt;/p&gt;  &lt;p&gt;Type: &lt;strong&gt;select vdisk file=E:\Windows8.vhd &lt;/strong&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;- Attach this drive to the setup system:&lt;/p&gt;  &lt;p&gt;Type: &lt;strong&gt;attach vdisk&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;and Finally get out of the DISKPART tool, too.&lt;/p&gt;  &lt;p&gt;Type: &lt;strong&gt;exit&lt;/strong&gt; (you will exit DISKPART)&amp;#160; &lt;/p&gt;  &lt;p&gt;- Finally get out of the command prompt, another ‘exit’:&lt;/p&gt;  &lt;p&gt;Type: &lt;strong&gt;exit&lt;/strong&gt; (you will leave the Windows Command-Prompt, but Do Not Reboot!!)&lt;/p&gt;  &lt;p&gt;- We return now to the ‘&lt;strong&gt;Drive selection Window&lt;/strong&gt;’.&lt;/p&gt;  &lt;p&gt;- Press the ‘Refresh' button, and you’ll see our new .VHD drive!:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7266.image_5F00_2B0469C2.png"&gt;&lt;img title="image" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2337.image_5F00_thumb_5F00_52B6F7BA.png" width="794" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Install Windows 8 on this attached .VHD.&lt;/strong&gt; First you'll need to create a partition &amp;amp; format it, selecting the drive which is really our .VHD file, and then clicking on the &amp;quot;Drive Options (Advanced)&amp;quot;. From tha tmenu you can create a partition within the .VHD file and format it, afterwards.&lt;/p&gt;  &lt;p&gt;You might get an error/warning saying that your computer hardware might not support this disk, just ignore it and press ‘Next’..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6574.image_5F00_6BA68C02.png"&gt;&lt;img title="image" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2514.image_5F00_thumb_5F00_71ACCB5C.png" width="766" height="461" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-It will reboot, etc., and you got it!!!!&lt;/p&gt;  &lt;p&gt;- When starting, I have now a native &amp;amp; multiple-Boot, for Windows 8 (Release Preview), Windows Consumer Preview and Windows 7, because I already did similar setup processes with older OS versions:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4885.image_5F00_7629BBDB.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7446.image_5F00_thumb_5F00_54F673A7.png" width="829" height="523" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Remember, the great thing here is that even when we are starting Windows 8 from a .VHD file, it is booting in a native way, so performance will be good (graphics card, etc.). Starting like that, Windows 8 runs smoothly in this Samsun Tablet.&lt;/p&gt;  &lt;p&gt;I have my native operating systems stored in just a few files, so my hard drive is kept clean, for the future (next versions, etc.).&lt;/p&gt;  &lt;p&gt;Something like the following files:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3386.image_5F00_3241EFF9.png"&gt;&lt;img title="image" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7573.image_5F00_thumb_5F00_420184FD.png" width="772" height="145" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There you have it, the first METRO screen of Windows 8&amp;#160; Release Preview:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7658.image_5F00_444928E8.png"&gt;&lt;img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8750.image_5F00_thumb_5F00_045EF6C9.png" width="552" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Enjoy Windows 8 Release Preview!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;B.- (OPTIONAL) CONFIGURING BOOT OPTIONS&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;You might want to change dual boot options, option string names, etc.&amp;#160; &lt;/p&gt;  &lt;p&gt;When you want to configure the boot options of windows you can use &lt;b&gt;bcdedit.exe&lt;/b&gt; to modify the boot settings.&lt;/p&gt;  &lt;p&gt;For instance, once you have booted in Windows 8 (any boot, you might have 2 'Windows 8' option strings... ;-)), you might want to change those boot options strings. In order to do so, start a CMD prompt and run bcdedit.exe (in \Windows\System32) to see the GUID of your boot options:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /v&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Remember/copy the GUID of your VHD installation and type the following line, of course, changing my 'xxxxxxxx' stuff to your GUID.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} description &amp;quot;Windows 8 .VHD Image&amp;quot;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;You can put the description you like, but the above line will change the description for your VHD installation boot option.&lt;/p&gt;  &lt;p&gt;You can also change the order of the boot options typing the following:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;---&lt;/p&gt;  &lt;p&gt;Finally, once you have these kind of .VHD images, you can copy it and have as many BOOT options as you want.&lt;/p&gt;  &lt;p&gt;The easiest way is to copy an originall boot menu option, like:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /copy {Original_GUID_Number} /d &amp;quot;my new description&amp;quot;&lt;/b&gt;     &lt;br /&gt;or     &lt;br /&gt;&lt;b&gt;bcdedit /copy {current} /d &amp;quot;my new description&amp;quot;      &lt;br /&gt;&lt;/b&gt;or     &lt;br /&gt;&lt;b&gt;bcdedit /copy {default} /d &amp;quot;my new description&amp;quot;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Type again the following to see the new GUID for your new copied boot option:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /v&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Copy that GUID to a notepad or a paper... &lt;/p&gt;  &lt;p&gt;After that, you must change the 2 pointers within the menu option, so they point to the new/right .VHD file:    &lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;bcdedit /set {My_new_GUID_Number} device vhd=[C:]\MyNewVMFile.vhd &lt;/p&gt;  &lt;p&gt;&lt;b&gt;bcdedit /set {My_new_GUID_Number} osdevice vhd=[C:]\MyNewVMFile.vhd&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10274748" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+8/">Windows 8</category></item><item><title>CQRS BUS and Windows Azure technologies</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/02/22/cqrs-bus-and-windows-azure-technologies.aspx</link><pubDate>Wed, 22 Feb 2012 17:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10271116</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10271116</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10271116</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/02/22/cqrs-bus-and-windows-azure-technologies.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://martinfowler.com/bliki/CQRS.html"&gt;CQRS&lt;/a&gt; has several internal patterns and objects types like &lt;b&gt;Commands&lt;/b&gt;, &lt;b&gt;CommandHandlers&lt;/b&gt;, &lt;b&gt;Events&lt;/b&gt;, &lt;b&gt;EventHandlers&lt;/b&gt;, and a few others. In the following diagram I show a basic diagram positioning those topics:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5224.image_5F00_054D5D98.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8666.image_5F00_thumb_5F00_1DCCD51B.png" width="777" height="583" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I am not going to explain CQRS philosophy here, as you can read about it in many posts from &lt;b&gt;Greg Young&lt;/b&gt;, &lt;b&gt;Udi Dahan&lt;/b&gt;, &lt;b&gt;Martin Fowler&lt;/b&gt;, etc.&lt;/p&gt;  &lt;p&gt;The only thing I want to highlight before going further is that CQRS is not a top-level architecture. On the other hand, it should be used only for certain scenarios/contexts, certain areas within a complex application: Only for selected &lt;b&gt;BOUNDED-CONTEXTS&lt;/b&gt; (in &lt;b&gt;DDD&lt;/b&gt; lingo).&lt;/p&gt;  &lt;p&gt;The point is that this kind of pattern or approach provides (as a consequence) very high scalable applications; therefore, it fits great in &lt;i&gt;Cloud-Computing&lt;/i&gt; platforms, like &lt;b&gt;Windows Azure&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;In this post I only want to focus about what Windows Azure technologies we could use for the CQRS Buses.&lt;/p&gt;  &lt;p&gt;First of all, all the communications based on the CQRS Buses are asynchronous. The Bus could be implemented in many different ways. For a &lt;strong&gt;Proof of concept&lt;/strong&gt; and having a single server, it could even be an &lt;em&gt;&lt;strong&gt;In-Memory Bus&lt;/strong&gt;&lt;/em&gt;. But, if we have a real and scalable system, we’d need a Bus implementation placed on a global position, accessible from any Front-End and Back-End server.&lt;/p&gt;  &lt;p&gt;We put/send COMMANDS into the Bus from the Presentation Layer (if using a server UI, like ASP.NET MVC. If the UI is remote, like HTML5, Silverlight, WPF, etc., then, we’d probably have a Web-Service Layer in between, like WCF or REST Web-API). But, the important point here is that COMMANDS will be taken from a single point (COMMAND-HANDLER) and they will be processed only once (like process ‘RegisterAttendee’ COMMAND). It is something we order to our system, so it is an imperative verb.&lt;/p&gt;  &lt;p&gt;In any case, &lt;span style="text-decoration: underline"&gt;for handling COMMANDS, we’d need any asynchronous system that will allow to process messages, and each message will be taken and processed just once. A &lt;b&gt;Message-Queue system&lt;/b&gt; would be nice for this purpose&lt;/span&gt;. Talking about Windows Azure technologies, we could use &lt;b&gt;Windows Azure Storage Queues,&lt;/b&gt; based on the &lt;b&gt;Put&lt;/b&gt; message and &lt;b&gt;Peek&lt;/b&gt; message functions.&lt;/p&gt;  &lt;p&gt;On the other hand, EVENTS are generated when a COMMAND is already processed and persisted. It is done &amp;amp; finished, so all events’ names are past tense verbs, like ‘AttendeeRegistered’ EVENT. But, and here comes an important difference, EVENTS can be consumed from many systems in order to propagate changes. They can be processed by the EVENT-HANDLER, but also from other BOUNDED-CONTEXTS and event from external systems. Therefore, &lt;span style="text-decoration: underline"&gt;we could use a &lt;b&gt;Publish/Subscription approach&lt;/b&gt; for this topic&lt;/span&gt;. Talking about Windows Azure technologies, we could use &lt;b&gt;Windows Azure Service Bus&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Below is shown a more specific diagram where Windows Azure technologies are highlighted:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5444.clip_5F00_image004_5F00_67366D51.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4061.clip_5F00_image004_5F00_thumb_5F00_32496814.jpg" width="810" height="636" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It seems clear that in order to have a publish/subscription approach (for EVENTS), we need the Windows Azure Service Bus. &lt;b&gt;&lt;span style="text-decoration: underline"&gt;Regarding COMMANDS, we could use Windows Azure Storage Queues, but the Service Bus is also a possibility here, too&lt;/span&gt;&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;A few months ago, before having the Windows Azure SDK 1.5, the Service Bus was not supporting message queues, but now, it supports persistent queues plus a richer set of functionality like integration with &lt;b&gt;WCF&lt;/b&gt; communication stack, transactional behavior, a guaranteed first-in-first-out (FIFO) ordered delivery, publish and consume message batches, etc.&lt;/p&gt;  &lt;p&gt;Additionally, the Windows Azure Service-Bus price is quite similar to the Windows Azure Storage Queues price.&lt;/p&gt;  &lt;p&gt;In the following link you can see a &lt;b&gt;detailed comparison between the Windows Azure Service-Bus and the Windows Azure Storage Queues&lt;/b&gt;, taking into account &lt;b&gt;Capabilities&lt;/b&gt;, &lt;b&gt;Capacity&lt;/b&gt;, &lt;b&gt;Quotas&lt;/b&gt;, &lt;b&gt;Management&lt;/b&gt;, &lt;b&gt;Operations&lt;/b&gt;, &lt;b&gt;Performance&lt;/b&gt; and &lt;b&gt;Prices&lt;/b&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh767287(VS.103).aspx"&gt;http://msdn.microsoft.com/en-us/library/hh767287(VS.103).aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10271116" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Window+Azure/">Window Azure</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/CQRS/">CQRS</category></item><item><title>Scoping CQRS and Event-Sourcing Guidance Project</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/01/13/scoping-cqrs-and-event-sourcing-guidance-project.aspx</link><pubDate>Fri, 13 Jan 2012 03:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10256174</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10256174</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10256174</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/01/13/scoping-cqrs-and-event-sourcing-guidance-project.aspx#comments</comments><description>&lt;p&gt;I am collaborating with the &lt;a href="http://msdn.com/practices"&gt;patterns &amp;amp; practices team&lt;/a&gt;. We are considering doing a guidance project on implementing systems using the &lt;a href="http://cqrs.wordpress.com/"&gt;Command &amp;amp; Query Responsibility Segregation (CQRS)&lt;/a&gt; approach. &lt;span style="text-decoration: underline;"&gt;This is not going to be a framework or reusable components&lt;/span&gt;. We are positioning this project as a learning journey and envision providing an experience report that describes building a sample app (reference implementation) to showcase various CQRS and Event Sourcing (ES) concepts &amp;amp; techniques. We will include explanations of various trade-offs and architectural decisions made along the way. Of course, we will publish the reference implementation/sample app to complement the written guidance.&lt;/p&gt;
&lt;p&gt;We are not into chasing elusive silver bullets. Our ultimate goal is produce &lt;b&gt;practical guidance for real world development problems&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;We are interested in your perspectives, your needs and your suggestions on what you&amp;rsquo;d like us to focus on.&lt;/p&gt;
&lt;p&gt;Today we open the first round of public consultation with a &lt;a href="http://www.surveymonkey.com/s/cqrsguide"&gt;questionnaire&lt;/a&gt; to help us direct our exploration. Depending on your feedback and related priorities we will produce an initial backlog which we will also invite the community to comment/vote on.&lt;/p&gt;
&lt;p&gt;If you care about CQRS, ES, Domain-Driven Design and good design practices, please &lt;a href="http://www.surveymonkey.com/s/cqrsguide"&gt;take part&lt;/a&gt; in this consultation process. Both real world experiences and the need to be successful with CQRS in the near future are valuable perspectives.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10256174" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/CQRS/">CQRS</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Event_2D00_Sourcing/">Event-Sourcing</category></item><item><title>Panda Security releases a free Beta version of Panda Cloud Office Protection 6.0, in the Cloud, on Windows Azure!!</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2012/01/06/panda-security-releases-a-free-beta-version-of-panda-cloud-office-protection-6-0-in-the-cloud-over-windows-azure.aspx</link><pubDate>Fri, 06 Jan 2012 15:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10253999</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10253999</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10253999</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2012/01/06/panda-security-releases-a-free-beta-version-of-panda-cloud-office-protection-6-0-in-the-cloud-over-windows-azure.aspx#comments</comments><description>&lt;p&gt;I publish this information because I&amp;rsquo;ve been collaborating with them on migrating their backend anti-virus system to the Microsoft PaaS cloud which is Windows Azure. They have got many benefits on doing this, like elasticity, rapid scalability, and one of the most important things, they have reduced their costs and TCO a lot!.&lt;/p&gt;
&lt;p&gt;It is a great Product for any kind of company (small or large) who would like to manage all their anti-virus in a consistent, monitorized and global way.&lt;/p&gt;
&lt;p&gt;You can try this BETA version of Panda Cloud Office Protection 6.0 downloading it from here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pandasecurity.com/homeusers/downloads/beta/managedprotection/"&gt;http://www.pandasecurity.com/homeusers/downloads/beta/managedprotection/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following are the product characteristics:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Panda Cloud Office Protection&lt;/strong&gt; is a security solution for PCs and servers based on the concept of Software as a Service (SaaS). Software as a Service lets companies focus on their core business, freeing them from the management tasks and operating costs associated with traditional security solutions.&lt;/p&gt;
&lt;p&gt;It prevents companies from having to invest in additional hardware, maintenance personnel and other resources dedicated to anti-malware protection while achieving high level security, even in remote offices, with minimum resource consumption.&lt;/p&gt;
&lt;p&gt;The Web-based administration console allows centralized management of computer protection anytime from anywhere through single-sign-on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Panda Cloud Office Protection&lt;/strong&gt; offers an innovative way to manage security, as it automates all maintenance tasks. This lets many small businesses forget about security management or outsource it quickly and easily with no impact on the user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Panda Cloud Office Protection&lt;/strong&gt; is complemented with periodic security audits benefiting from Panda&amp;rsquo;s exclusive Collective Intelligence Technologies.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10253999" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>We completed the Microsoft Architects Forum: Enterprise &amp; ISVs Applications on Windows Azure (Barcelona Dec. 13th &amp; Madrid Dec. 15th)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/12/16/we-completed-the-microsoft-architects-forum-enterprise-amp-isvs-applications-on-windows-azure-barcelona-dec-13th-amp-madrid-dec-15th.aspx</link><pubDate>Fri, 16 Dec 2011 13:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10248531</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10248531</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10248531</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/12/16/we-completed-the-microsoft-architects-forum-enterprise-amp-isvs-applications-on-windows-azure-barcelona-dec-13th-amp-madrid-dec-15th.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It was a nice event exposing Windows Azure scenarios very oriented to ISVs, subjects like &lt;strong&gt;Multi-Tenancy&lt;/strong&gt;, Security, Java apps on Windows Azure, etc. Additionally we had three companies (&lt;strong&gt;Panda-Security&lt;/strong&gt;, &lt;strong&gt;Softeng&lt;/strong&gt; and &lt;strong&gt;Grupo Teldat&lt;/strong&gt;) talking about their real experience in their projects when migrating their products to Windows Azure, talking about optimizations, performance and scalability best practices.&lt;/p&gt;
&lt;p&gt;Here I post the PRESENTATIONs we talked about (in Spanish):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=C537C2AF47F728A0&amp;amp;id=C537C2AF47F728A0%211027"&gt;https://skydrive.live.com/?cid=C537C2AF47F728A0&amp;amp;id=C537C2AF47F728A0%211027&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And a few pictures of both occurrences of the event&lt;/p&gt;
&lt;p&gt;Architects Forum in &lt;strong&gt;Madrid&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0250.WP_5F00_000036_5F00_71B8DFEA.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WP_000036" border="0" alt="WP_000036" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2072.WP_5F00_000036_5F00_thumb_5F00_4EA86E7A.jpg" width="555" height="418" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Architects Forum in &lt;strong&gt;Barcelona&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1411.WP_5F00_000024_5F00_2C7062F4.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WP_000024" border="0" alt="WP_000024" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7271.WP_5F00_000024_5F00_thumb_5F00_57D483EE.jpg" width="563" height="424" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Alfonso Velasco, from &lt;strong&gt;Panda-Security&lt;/strong&gt;, explaining their experiences and why they migrated their product backend from a hosting provider to Windows Azure:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3652.WP_5F00_000025_5F00_1D0CDB18.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="WP_000025" border="0" alt="WP_000025" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8764.WP_5F00_000025_5F00_thumb_5F00_1E8DF72C.jpg" width="564" height="425" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10248531" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>Architects Forum: Enterprise &amp; ISVs Applications on Windows Azure (Barcelona Dec. 13th &amp; Madrid Dec. 15th)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/12/03/architects-forum-enterprise-amp-isvs-applications-on-windows-azure-barcelona-dec-13th-amp-madrid-dec-15th.aspx</link><pubDate>Sat, 03 Dec 2011 11:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243936</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10243936</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10243936</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/12/03/architects-forum-enterprise-amp-isvs-applications-on-windows-azure-barcelona-dec-13th-amp-madrid-dec-15th.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://www.microsoft.com/Spain/msdn/architecture/images_news/msarquitecture.jpg" width="431" height="130" /&gt;&lt;/p&gt;
&lt;p&gt;In December we&amp;rsquo;re going to deliver this &lt;span style="text-decoration: underline;"&gt;free assistance&lt;/span&gt; event focusing on enterprise applications and architectures on Windows Azure, subjects like MULTi-TENANCY on windows Azure, and showing optimizations, scalability and load testing made by real Windows Azure customers like PANDA-SECURITY and SOFTENG.&lt;/p&gt;
&lt;p&gt;This is the Agenda (SPANISH).&lt;/p&gt;
&lt;table border="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="25%"&gt;
&lt;p&gt;Hora&lt;/p&gt;
&lt;/td&gt;
&lt;td width="51%"&gt;
&lt;p&gt;&lt;strong&gt;Descripci&amp;oacute;n&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="24%"&gt;
&lt;p&gt;&lt;em&gt;Ponentes&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;9:30-10:00&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Registro&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;10:00-10:15&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Presentaci&amp;oacute;n del evento&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;C&amp;eacute;sar de la Torre &lt;/strong&gt;&lt;b&gt; &lt;br /&gt;&lt;strong&gt;Microsoft &lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;10:15-11:00&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Securizaci&amp;oacute;n &lt;/strong&gt;de aplicaciones en &lt;strong&gt;Windows Azure:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Propagaci&amp;oacute;n de credenciales AD mediante ADFS 2.0 y Access-Control de Windows Azure&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;Plain Concepts &lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;11:00-11:30&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Caf&amp;eacute; (Catering Microsoft)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;11:30-12:55&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Aplicaciones &lt;em&gt;&lt;b&gt;Multi-tenant &lt;/b&gt;&lt;/em&gt;(multi-organizaci&amp;oacute;n) en &lt;strong&gt;Windows Azure &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;Cesar de la Torre &amp;amp; Luis Panzano&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;13:00-13:55&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Proyecto de &lt;strong&gt;despliegue &lt;/strong&gt;de la Soluci&amp;oacute;n &amp;lsquo; &lt;em&gt;&lt;b&gt;Panda Cloud Protection &lt;/b&gt;&lt;/em&gt;' en &lt;em&gt;Windows Azure &lt;/em&gt;y &lt;strong&gt;Pruebas de Carga &lt;/strong&gt;realizadas con &lt;em&gt;&lt;b&gt;Visual Studio 2010 &lt;/b&gt;&lt;/em&gt;sobre &lt;strong&gt;Windows Azure &lt;/strong&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;Panda Security &lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;14:00-15:25&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Tiempo Comida&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;15:30-16:25&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Desplegando &lt;strong&gt;Aplicaciones Java &lt;/strong&gt;y &lt;strong&gt;Servidores de Aplicaci&amp;oacute;n &lt;/strong&gt;no Microsoft, en &lt;strong&gt;Windows Azure &lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;Ilitia &lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;16:30-17:25&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Optimizaciones &lt;/strong&gt;de aplicaciones en &lt;strong&gt;Windows Azure &lt;/strong&gt;(Cache, rendimiento, escalabilidad y latencia).&lt;/p&gt;
&lt;p&gt;- Caso real sobre la optimizaci&amp;oacute;n de &lt;em&gt;&lt;b&gt;Softeng PortalBuilder &lt;/b&gt;&lt;/em&gt;en &lt;strong&gt;Windows Azure &lt;/strong&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;Softeng &lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can register to the events in the following pages:&lt;/p&gt;
&lt;p&gt;1.- Architects Forum: Enterprise Applications on Windows Azure (Barcelona Dec. 13th 2011)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032498149&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032498149&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2.- Architects Forum: Enterprise Applications on Windows Azure (Madrid, Dec. 15th 2011)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032498152&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032498152&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243936" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>Creating an X.509 certificate for Windows Azure</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/11/29/creating-an-x-509-certificate-for-windows-azure.aspx</link><pubDate>Tue, 29 Nov 2011 21:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10242551</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10242551</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10242551</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/11/29/creating-an-x-509-certificate-for-windows-azure.aspx#comments</comments><description>&lt;p&gt;I always forget the command line to do this, so I&amp;rsquo;m going to post it in my own blog.&lt;/p&gt;
&lt;p&gt;The way to set a specific certificate name, so you can find it within Windows Azure after it is registered, is using the Certificate Creation Tool (makecert.exe) to create an X.509 certificate:&lt;/p&gt;
&lt;p&gt;- Open the Visual Studio Command Prompt window as an administrator.&lt;/p&gt;
&lt;p&gt;- Change the directory to location where you want to save the certificate file.&lt;/p&gt;
&lt;p&gt;- Type the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;makecert -sky exchange -r -n "CN=MyCertificateName" -pe -a sha1 -len 2048 -ss My "MyCertificateName.cer"&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Where MyCertificateName is the name that you want to use for the certificate. It must have a .cer extension.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- After generating the .cer, you must install it into your machine if you want to use it for Windows Azure signing, etc.&lt;/p&gt;
&lt;p&gt;To do so, it must be installed within the &amp;lsquo;Certificates (Local Computer) &amp;ndash;&amp;gt; Personal &amp;ndash;&amp;gt; Certificates.&lt;/p&gt;
&lt;p&gt;You can do this using the Certificates Snap-in, you know, mmc.exe &amp;ndash;&amp;gt; Add Snap-in &amp;ndash;&amp;gt; Certificates &amp;ndash;&amp;gt; Local Computer, etc.&lt;/p&gt;
&lt;p&gt;After registering the certificate into your machine, you might want to export it (from the Certificates Snap-in) as .PFX, including the private key, setting a password, etc.. You might need this in order to install in into Windows Azure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242551" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>We completed the IASA-DDD Conference! (November 7th 2011)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/11/09/we-completed-the-iasa-ddd-conference-november-7th-2011.aspx</link><pubDate>Wed, 09 Nov 2011 21:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10235515</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10235515</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10235515</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/11/09/we-completed-the-iasa-ddd-conference-november-7th-2011.aspx#comments</comments><description>&lt;p&gt;It was a remarkable DDD (Domain Driven Design) event in Madrid, Spain. We got around &lt;strong&gt;150 attendees&lt;/strong&gt;!!, and taking into account that this is the inaugural event from the&lt;strong&gt; IASA-Spain association&lt;/strong&gt;, and this association was almost unknown in Spain, until now, it is something I must highlight. Of course, having the keynotes delivered by Eric Evans and Udi Dahan was fundamental for achieving that.&lt;/p&gt;
&lt;p&gt;Most attendees gave such a good feedback about the sessions and specifically about the IASA-Spain initiative because we were talking about Architecture, Design, DDD, patterns, etc., no matter what technology you work with. In fact, there were sessions and attendees used to work on &lt;strong&gt;.NET platform&lt;/strong&gt; but also sessions and people used to work on &lt;strong&gt;Java platform&lt;/strong&gt;. Even the sponsors were companies very heterogeneous, like: &lt;strong&gt;Microsoft&lt;/strong&gt; &amp;amp; &lt;strong&gt;Oracle&lt;/strong&gt;, or &lt;strong&gt;Microsoft partners&lt;/strong&gt;, and &lt;strong&gt;JavaHispano.com&lt;/strong&gt;, etc. That is good for open debates about design and architecture and also for technology interoperability and especially to learn from each other experiences.&lt;/p&gt;
&lt;p&gt;Here I post some data and pictures about the Conference.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;There were registered attendees from all around Spain:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6648.image_5F00_4C88CA1F.png"&gt;&lt;img style="margin: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1462.image_5F00_thumb_5F00_515B580E.png" width="834" height="627" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;And even from all around the world!:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0042.image_5F00_2C9A1ACA.png"&gt;&lt;img style="margin: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0535.image_5F00_thumb_5F00_21606AB3.png" width="831" height="624" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eric Evans, Udi Dahan and me, handling the &amp;lsquo;Questions and Answers&amp;rsquo; session (Q&amp;amp;A):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0458.DSC_5F00_0016_5F00_14C297CA.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0016" border="0" alt="DSC_0016" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3755.DSC_5F00_0016_5F00_thumb_5F00_47827871.jpg" width="840" height="562" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eric Evans starting his great DDD Keynote:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4743.DSC_5F00_0006_5F00_511AC0DA.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0006" border="0" alt="DSC_0006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5314.DSC_5F00_0006_5F00_thumb_5F00_0BD243E4.jpg" width="844" height="564" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Udi Dahan while speaking during his great CQRS keynote:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8015.DSC_5F00_0009_5F00_12C1D09C.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0009" border="0" alt="DSC_0009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2642.DSC_5F00_0009_5F00_thumb_5F00_146276A3.jpg" width="854" height="571" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A view of the attendees,&lt;/strong&gt; with &lt;strong&gt;Diego Vega&lt;/strong&gt; (&lt;em&gt;Entity Framework Product Group Program Manager in Microsoft Corp&lt;/em&gt;) taking notes on his laptop. There are many other familiar faces from companies like &lt;strong&gt;Wolters-Kluver, Panda-Security, Telef&amp;oacute;nica I+D, Repsol, MRW, Plain-Concepts, Sogeti, Indra, Fujitsu, Unisys, Kriter, Microsoft Iberica (Consulting Services, Premier Support and DPE), NTR, Avanade, Pasiona, Aventia-Renacimiento, Raona&lt;/strong&gt;, and a long etc. with many more companies. There were also many people from the Java community, as well:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7433.DSC_5F00_0012_5F00_10287911.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0012" border="0" alt="DSC_0012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2234.DSC_5F00_0012_5F00_thumb_5F00_4A079630.jpg" width="826" height="552" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Diego Vega&lt;/strong&gt; &amp;amp; &lt;strong&gt;Unai Zorrilla&lt;/strong&gt; during our Session regarding &lt;strong&gt;Architecture Patterns and .NET&lt;/strong&gt;, with special focus on &lt;strong&gt;Entity Framework 4.1 Code-First&lt;/strong&gt; which facilitates the implementation of patterns like POCO Domain Entities, Repository pattern, UoW pattern, and allows to comply with principles like &amp;lsquo;Persistence Ignorant&amp;rsquo;, etc.:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6443.DSC_5F00_0015_5F00_456165A9.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0015" border="0" alt="DSC_0015" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8156.DSC_5F00_0015_5F00_thumb_5F00_47020BB0.jpg" width="833" height="557" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alfredo Casado&lt;/strong&gt; during his session about &amp;lsquo;&lt;strong&gt;Implementing DDD Patterns on Java&lt;/strong&gt; &lt;strong&gt;Platform&amp;rsquo;&lt;/strong&gt;, using &lt;strong&gt;Hibernate&lt;/strong&gt; and &lt;strong&gt;Spring&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0068.DSC_5F00_0021_5F00_20900298.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0021" border="0" alt="DSC_0021" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0143.DSC_5F00_0021_5F00_thumb_5F00_0F0F7BF3.jpg" width="844" height="564" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enrique Martin Casado&lt;/strong&gt;, from &lt;strong&gt;Oracle&lt;/strong&gt;, while speaking during his session (Approach about implementing CQRS based on Oracle Service Bus and Oracle Coherence Cache):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6404.DSC_5F00_0022_5F00_23D14EA6.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0022" border="0" alt="DSC_0022" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5415.DSC_5F00_0022_5F00_thumb_5F00_69462904.jpg" width="853" height="570" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I&lt;/strong&gt;&lt;strong&gt;nterview&lt;/strong&gt; to Udi Dahan, Eric Evans and Diego Vega, for the &lt;strong&gt;Dnm Magazine&lt;/strong&gt; (technical magazine):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0284.DSC_5F00_0033_5F00_6095AAAB.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0033" border="0" alt="DSC_0033" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8535.DSC_5F00_0033_5F00_thumb_5F00_5F8D9501.jpg" width="853" height="569" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CQRS WORKSHOP, by Udi Dahan &lt;/strong&gt;(Next day, on November 8th 2011). This Workshop (a full day with Udi Dahan) got about &lt;strong&gt;22 attendees:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3817.DSC_5F00_0026_5F00_7764565A.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0026" border="0" alt="DSC_0026" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6471.DSC_5F00_0026_5F00_thumb_5F00_099CF750.jpg" width="858" height="573" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Final picture (the day after the Workshops, Nov. 8th) with some speakers and several collaborators. Starting from the right: &lt;strong&gt;Diego Vega (Program Manager from the Entity Framework Product Group, Microsoft Corp), Eric Evans, Udi Dahan, Javier Calvarro (Microsoft Developer), Myself (C&amp;eacute;sar de la Torre, Microsoft), Unai Zorrilla (Plain Concepts) and Pierre Millet (Microsoft Consulting Services)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6136.DSC_5F00_0035_5F00_32E41981.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="DSC_0035" border="0" alt="DSC_0035" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1731.DSC_5F00_0035_5F00_thumb_5F00_37B6A770.jpg" width="853" height="570" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Tomorrow (Nov. 10th) we&amp;rsquo;ll deliver the last WORKSHOP, a DDD WORKSHOP by Eric Evans. I&amp;rsquo;ll probably update this post with some info about tomorrow.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s been a great experience, and I really appreciate Eric Evans, Udi Dahan and Diego Vega coming to Madrid and helping us to deliver such a great event-sessions and Workshops.We really enjoyed all this week with them and all the attendees, of course!.&lt;/p&gt;
&lt;p&gt;You can download the presentations from here:&lt;/p&gt;
&lt;p&gt;&lt;a title="https://skydrive.live.com/?cid=7B0099B3E1CF634F&amp;amp;id=7B0099B3E1CF634F%21172" href="https://skydrive.live.com/?cid=7B0099B3E1CF634F&amp;amp;id=7B0099B3E1CF634F%21172"&gt;https://skydrive.live.com/?cid=7B0099B3E1CF634F&amp;amp;id=7B0099B3E1CF634F%21172&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10235515" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/CQRS/">CQRS</category></item><item><title>How to explore a Windows Azure Package (How to create it with no encryption)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/10/05/how-to-explore-a-windows-azure-package-how-to-create-it-with-no-encryption.aspx</link><pubDate>Wed, 05 Oct 2011 08:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10220311</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10220311</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10220311</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/10/05/how-to-explore-a-windows-azure-package-how-to-create-it-with-no-encryption.aspx#comments</comments><description>&lt;p&gt;As you may know, a Windows Azure package is a .ZIP file, but, it is encrypted, so, even though you can rename the extension, when you take a look into it, you cannot really see the project files.&lt;/p&gt;
&lt;p&gt;In order to see it, you need to create a package which is not encrypted. You can do so setting a System Variable (in the Properties menu within &amp;lsquo;My Computer&amp;rsquo;): &lt;br /&gt;_CSPACK_FORCE_NOENCRYPT_ with value set to true&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10220311" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>Eric Evans and Udi Dahan in Madrid! (DDD Conference and Workshops, Nov.2011)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/09/20/eric-evans-and-udi-dahan-in-madrid-ddd-conference-and-workshops-nov-2011.aspx</link><pubDate>Tue, 20 Sep 2011 10:40:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10214001</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10214001</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10214001</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/09/20/eric-evans-and-udi-dahan-in-madrid-ddd-conference-and-workshops-nov-2011.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Eric Evans&lt;/strong&gt; and &lt;strong&gt;Udi Dahan&lt;/strong&gt; in &lt;strong&gt;IASA&lt;/strong&gt; &lt;strong&gt;DDD&lt;/strong&gt; (&lt;em&gt;Domain Driven Design)&lt;/em&gt;&lt;strong&gt; Conference&lt;/strong&gt; and &lt;strong&gt;Workshops&lt;/strong&gt;!!! (Nov.2011).&lt;/p&gt;  &lt;p&gt;This is a unique opportunity. On November 7th, there will be an initial conference (free registration) introducing DDD &amp;amp; CQRS, and then, during next days (Nov. 8th and Nov.10th), there will be several workshops run by Eric Evans and Udi Dahan, having deeper content during a whole day.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- DDD Conference (Nov. 7th 2011)&lt;/strong&gt; - (&lt;strong&gt;Free&lt;/strong&gt; registration): &lt;a href="http://dddiasaconference.eventbrite.com/"&gt;http://dddiasaconference.eventbrite.com/&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/extlink.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IASA-SPAIN-MEMBERS have a 50% off discount on Workshops!!!:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- DDD Workshop (Nov. 8th 2011)&lt;/strong&gt; - A whole day with &lt;strong&gt;Eric Evans&lt;/strong&gt; and &lt;strong&gt;DDD&lt;/strong&gt; deeper content - (Registration under fee): &lt;a href="http://dddworkshopee.eventbrite.com/"&gt;http://dddworkshopee.eventbrite.com/&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/extlink.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- CQRS Workshop (Nov. 8th 2011)&lt;/strong&gt; - A whole day with &lt;strong&gt;Udi Dahan&lt;/strong&gt; and &lt;strong&gt;CQRS&lt;/strong&gt; deeper content - (Registration under fee): &lt;a href="http://cqrsworkshopud.eventbrite.com/"&gt;http://cqrsworkshopud.eventbrite.com/&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/extlink.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- DDD Workshop (Nov. 10th 2011)&lt;/strong&gt; - 2nd occurrence, same content as &lt;strong&gt;DDD&lt;/strong&gt; workshop on Nov.8th - (Registration under fee): &lt;a href="http://dddworkshopee2.eventbrite.com/"&gt;http://dddworkshopee2.eventbrite.com/&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/extlink.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;HELP?&lt;/strong&gt;: For any question or help during the registration process, contact to &lt;a href="mailto:iasaspain@iasaglobal.org"&gt;&lt;strong&gt;iasaspain@iasaglobal.org&lt;/strong&gt;&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/mailto.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SPONSORSHIP?&lt;/strong&gt;: If you would like to sponsor this event, please contact to &lt;a href="mailto:cesardl@iasaglobal.org"&gt;&lt;strong&gt;cesardl@iasaglobal.org&lt;/strong&gt;&lt;/a&gt;&lt;img alt="Link Icon" align="absMiddle" src="http://www.iasaglobal.org/images/iasa/Template/css/images/mailto.gif" /&gt; for details. &lt;/p&gt;  &lt;p&gt;Global Landing page: &lt;a title="http://www.iasaglobal.org/iasa/Spain_Chapter.asp?SnID=1327701029" href="http://www.iasaglobal.org/iasa/Spain_Chapter.asp?SnID=1327701029"&gt;http://www.iasaglobal.org/iasa/Spain_Chapter.asp?SnID=1327701029&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10214001" width="1" height="1"&gt;</description></item><item><title>EF 4.1.1 RTM (Update) and Code First Migrations August 2011 CTP Released</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/30/ef-4-1-1-rtm-update-and-code-first-migrations-august-2011-ctp-released.aspx</link><pubDate>Sat, 30 Jul 2011 17:40:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10191408</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10191408</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10191408</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/30/ef-4-1-1-rtm-update-and-code-first-migrations-august-2011-ctp-released.aspx#comments</comments><description>&lt;p&gt;EF 4.1 Update 1 (EF 4.1.1) has been released a few days ago.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/adonet/archive/2011/07/25/ef-4-1-update-1-released.aspx"&gt;http://blogs.msdn.com/b/adonet/archive/2011/07/25/ef-4-1-update-1-released.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The important point is also EF 4.1.1 &lt;strong&gt;Code First Migrations August &lt;br /&gt;2011 CTP &lt;/strong&gt;Released:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/adonet/archive/2011/07/27/code-first-migrations-august-2011-ctp-released.aspx"&gt;http://blogs.msdn.com/b/adonet/archive/2011/07/27/code-first-migrations-august-2011-ctp-released.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is really important for people working with Code-First because it allows &lt;br /&gt;to change your Entity Model and then upgrade your database instead of having to &lt;br /&gt;re-create the database from scratch.&lt;/p&gt;
&lt;p&gt;Even though EF Code-First Migrations is still a CTP, it is something just for your development time, it won't impact to your production code dependencies which are RTM dlls/assemblies (EF 4.1.1).&lt;/p&gt;
&lt;p&gt;EF 4.1.1 (Update) is a release version (RTM).&lt;/p&gt;
&lt;p&gt;Cesar.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10191408" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Entity_2D00_Framework/">Entity-Framework</category></item><item><title>Value-Object pattern implementation in .NET</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/21/value-object-pattern-implementation-in-net.aspx</link><pubDate>Wed, 20 Jul 2011 22:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10188360</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10188360</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10188360</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/21/value-object-pattern-implementation-in-net.aspx#comments</comments><description>&lt;p&gt;Regarding DDD patterns, here I link two nice Value-Object implementation samples:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elegantcode.com/2009/06/07/generic-value-object/"&gt;http://elegantcode.com/2009/06/07/generic-value-object/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://grabbagoft.blogspot.com/2007/06/generic-value-object-equality.html"&gt;http://grabbagoft.blogspot.com/2007/06/generic-value-object-equality.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10188360" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category></item><item><title>About Ayende’s blog posts series reviewing the NLayered Sample-App</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/21/about-ayende-s-blog-posts-series-reviewing-the-nlayered-sample-app.aspx</link><pubDate>Wed, 20 Jul 2011 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10188353</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10188353</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10188353</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/21/about-ayende-s-blog-posts-series-reviewing-the-nlayered-sample-app.aspx#comments</comments><description>&lt;p&gt;Ayende has been publishing a series of blog posts reviewing the V1.0 of the NLayerApp Sample App (Note we made V2.0 public a few weeks ago, so most of the code issues he highlights do not apply now).&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve been taken into account every of those posts as well as every comment from the community in his blog. Some comments to Ayende&amp;rsquo;s posts were also good points to think about.&lt;/p&gt;
&lt;p&gt;First of all, we are thankful to Ayende and anyone who provides feedback in order to improve our initiative (SampleApp &amp;amp; Guidance) for the community and we will always take into account any comment and feedback.&lt;/p&gt;
&lt;p&gt;Second, this is a local initiative gathering experiences from projects, mostly&amp;nbsp;from the Spain community with the collaboration of MVPs, local Microsoft&amp;nbsp;people and&amp;nbsp;some partners. This is not a Microsoft Corp initiative.&lt;/p&gt;
&lt;p&gt;Regarding the specific posts that Ayende has been publishing about the NLayerApp V1.0, while we don&amp;rsquo;t agree on some of the global opinions about what a sample app should be, we acknowledge on some of the improvable code he pointed out, and the points we agree that were&amp;nbsp;issues, were fixed in V2.0 before Ayende published his series. There are also a few other points where we don&amp;rsquo;t agree, like the size of the SampleApp where we want to show simple and isolated scenarios that anybody can understand (Orders, Customers, simplified Bank Transfers, etc.) showing typical pattern implementations using Entity Framework 4.1 Code-First, or the post about the &amp;lsquo;Query Specification Pattern&amp;rsquo; where we think it is useful for many scenarios, like composite queries.&lt;/p&gt;
&lt;p&gt;Here you can see a few threads where we explained the modifications because of Ayende&amp;rsquo;s feedback:&lt;/p&gt;
&lt;p&gt;DI &amp;amp; WCF (INSTANCE PROVIDER):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/discussions/263833"&gt;http://microsoftnlayerapp.codeplex.com/discussions/263833&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;LOGGING&lt;/p&gt;
&lt;p&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/discussions/263763"&gt;http://microsoftnlayerapp.codeplex.com/discussions/263763&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;WCF &amp;amp; Exception Handling Improvements for V2.0&lt;/p&gt;
&lt;p&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/discussions/264445"&gt;http://microsoftnlayerapp.codeplex.com/discussions/264445&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Again, we want to highlight that we are thankful to Ayende and we acknowledge that anyone can always improve his code. Therefore, his critics are positive for the community and to this project because he helped us to improve some areas of code in our sample application.&lt;/p&gt;
&lt;p&gt;Finally, we&amp;rsquo;d like to say that this sample app is only a reference for several patterns explained in this guidance you can download and review (Currently draft chapters). Anyone should review it jointly (Guide+SampleApp):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a title="http://microsoftnlayerapp.codeplex.com/releases/view/69008#DownloadId=253553" href="http://microsoftnlayerapp.codeplex.com/releases/view/69008#DownloadId=253553"&gt;http://microsoftnlayerapp.codeplex.com/releases/view/69008#DownloadId=253553&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We will appreciate any constructive and specific feedback you can provide and we will take it into account.&lt;/p&gt;
&lt;p&gt;Cesar de la Torre&lt;/p&gt;
&lt;p&gt;Microsoft Spain&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10188353" width="1" height="1"&gt;</description></item><item><title>Published first ALPHA version of Domain Oriented N-Layered Architecture V2.0</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/03/published-first-alpha-version-of-domain-oriented-n-layered-architecture-v2-0.aspx</link><pubDate>Sun, 03 Jul 2011 14:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10182712</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10182712</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10182712</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/07/03/published-first-alpha-version-of-domain-oriented-n-layered-architecture-v2-0.aspx#comments</comments><description>&lt;h3&gt;New! First V2.0 ALPHA version at CODEPLEX and preliminary chapters&amp;rsquo; drafts of eBook (Second Edition)&lt;/h3&gt;
&lt;p&gt;Dear colleagues, after some time of effort, we can show you our preliminary version (alpha version, actually) of what V2.0 will be. We are initially covering mostly &amp;lsquo;the server-core&amp;rsquo;, with a single client app consuming it (Silverlight), and evolving and taking into account many experiences we got and learned also with you. We got a lot of feedback coming from our Discussions-Forum at Codeplex, and many other channels. Many of you have already used this project as a reference and have applied it into real &amp;amp; complex projects, with success in most of the cases, and this is the best reward we could get!. But also, we got many points we could improve. Any constructive feedback is important and will be taken into account. We&amp;rsquo;ll continue working and evolving it in order to get better patterns&amp;rsquo; implementations, along with you.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;Improvements in the Domain Layer&lt;/b&gt; &lt;br /&gt;- Using &lt;span style="background-color: #ffff00;"&gt;&lt;b&gt;EF 4.1 POCO Code-First approach&lt;/b&gt; for &lt;b&gt;Domain Entities/Aggregates/ValueObjects&lt;/b&gt; &lt;br /&gt;&lt;/span&gt;- Added more Domain logic within entities (no anemic domain) &lt;br /&gt;- Better exposure of Aggregates&amp;rsquo; elements &lt;br /&gt;- Better support to navigations between Aggregates and elimination of inverse relationships not needed &lt;br /&gt;- Entity Validation support &lt;br /&gt;- Specification pattern implementation, use of expressions as specifications and composition support&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;Improvements in the Application Layer&lt;/b&gt; &lt;br /&gt;- &lt;b&gt;DTO and DTO-Adapters support&lt;/b&gt; &lt;br /&gt;- Validation support &lt;br /&gt;- Improvements in exception management&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;Improvements in the Data-Persistence-Infrastructure Layer&lt;/b&gt; &lt;br /&gt;- &lt;b&gt;Using EF 4.1, CodeFirst, DbContext&lt;/b&gt; &lt;br /&gt;- Persistence layer simplification and improvements &lt;br /&gt;- &lt;b&gt;IoC/Unity: Elimination of abstractions no needed&lt;/b&gt; &lt;br /&gt;- Better testing strategy for Integration Tests&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;Improvements in the Presentation Layer&lt;/b&gt; &lt;br /&gt;- Reviewed and minor improvements in MVVM code&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;Improvements in the Distributed-Services Layer&lt;/b&gt; &lt;br /&gt;- Segregation in 2 Web-Services (One per MODULE).&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;- &lt;b&gt;Improvements regarding WCF exceptions handling (less spread code in Catch)&lt;/b&gt; &lt;br /&gt;- We currently use SOAP Web-Services, but we will switch to &lt;b&gt;REST&lt;/b&gt; in the coming future when the new &lt;b&gt;WCF Web API (WebApi.all)&lt;/b&gt; (still in beta) will support &lt;b&gt;Silverlight&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Here you can get preliminary main DRAFT chapters for V2.0 (Second Edition) currently being reviewed, not finished. &lt;br /&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/releases/view/69008#DownloadId=253553"&gt;http://microsoftnlayerapp.codeplex.com/releases/view/69008#DownloadId=253553&lt;/a&gt; &lt;br /&gt;You can also download the first edition of the Arch-Guide eBook (free), but take into account that it is related to V1.0 of this project. &lt;br /&gt;&lt;a href="http://http//msdn.microsoft.com/es-es/architecture/en/"&gt;http://http://msdn.microsoft.com/es-es/architecture/en/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/6012.V2.0_2D00_ARCH_5F00_IMAGE_5F00_FOR_5F00_CODEPLEX_5F00_2BF8F6D9.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="V2.0 ARCH_IMAGE_FOR_CODEPLEX" border="0" alt="V2.0 ARCH_IMAGE_FOR_CODEPLEX" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/0654.V2.0_2D00_ARCH_5F00_IMAGE_5F00_FOR_5F00_CODEPLEX_5F00_thumb_5F00_2E61DCFD.jpg" width="762" height="568" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I would also like to remind the following (Project Scope and main Goals and what we are not covering):&lt;/p&gt;
&lt;h3&gt;Project Scope&lt;/h3&gt;
&lt;p&gt;This project/sample is willfully restricted to &lt;b&gt;.NET implementation of most used patterns in N-Layered Domain Oriented Architectures&lt;/b&gt; based on simple scenarios easy to understand (Customers, Orders, Bank Transfers, etc.). This initiative is NOT trying to teach how to apply DDD. That shouldn't be Microsoft's goal and DDD is much more than Architecture &amp;amp; patterns implementation. &lt;br /&gt;&lt;b&gt;This is an Educational example, not a real world system&lt;/b&gt;, it shows &lt;b&gt;educational scenarios, easy to understand&lt;/b&gt; useful from a &lt;b&gt;patterns implementation point of view&lt;/b&gt;, but not necessarily as a whole business application. The architecture is decoupled and relatively complex so it would allow to grow your system. &lt;br /&gt;Also, this sample &lt;b&gt;goes along with our Architecture Guidance&lt;/b&gt;, and there are aspects in the guidance that are not covered by this sample, and viceversa. &lt;br /&gt;Its &lt;b&gt;main goal&lt;/b&gt; is to show how to use &lt;b&gt;.NET 4.0 wave technologies implementing typical DDD patterns&lt;/b&gt;: &lt;i&gt;N-Layered Architecture, Domain Entities, Aggregates, Repositories, Unit of Work, Domain Services, Application Services, DTOs, DTO-Adapters, etc.&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;Reminding what DDD is and what this project is NOT covering&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Domain Driven Design is much more than Architecture and Design Patterns&lt;/i&gt;&lt;/b&gt;. It implies a specific way of working for development teams and their relationship with Domain experts, a good identification of Domain Model elements (Aggregates/Entity Model, etc.) based on the Ubiquitous Language for every Model we can have, identification of Bounded-Contexts related to models, and a long etcetera related to the application life cycle that &lt;b&gt;we are not covering (only very slightly in our Guidance)&lt;/b&gt;. There were already excellent literature and knowledge about that before this project was started, coming from people like &lt;b&gt;Eric Evans, Martin Fowler, Udi Dahan, Greg Young&lt;/b&gt;, etc. &lt;br /&gt;Our guidance and sample application &lt;b&gt;focuses only on about a 20% of DDD subjects, we do NOT intend to teach DDD as a whole"&lt;/b&gt;, we are only &lt;b&gt;filling a gap&lt;/b&gt; we saw regarding &lt;b&gt;implementing most useful Domain Oriented design patterns with the latest version of .NET&lt;/b&gt;. &lt;br /&gt;And remember that we need you; we need your &lt;b&gt;constructive feedback&lt;/b&gt; to evolve and improve this project. &lt;br /&gt;Thank you very much.&lt;/p&gt;
&lt;h3&gt;Feedback and Improvements&lt;/h3&gt;
&lt;p&gt;Remember that this is a very early version (ALPHA and preliminary eBook Guidance drafts). We are, in fact, getting quite a lot of feedback and therefore refactoring many points &amp;amp; code that we acknowledge are improvable. But you can actually get the essence of our approach.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d really appreciate any &lt;strong&gt;constructive feedback&lt;/strong&gt; in order to improve our current arch-guidance and sample-app.&lt;/p&gt;
&lt;h4&gt;See feedback from the community who have used this Guidance (V1.0) since many months ago:&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/discussions/229559"&gt;http://microsoftnlayerapp.codeplex.com/discussions/229559&lt;/a&gt; &lt;br /&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/releases/view/56660#ReviewsAnchor"&gt;http://microsoftnlayerapp.codeplex.com/releases/view/56660#ReviewsAnchor&lt;/a&gt; &lt;br /&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/releases/view/49514#ReviewsAnchor"&gt;http://microsoftnlayerapp.codeplex.com/releases/view/49514#ReviewsAnchor&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10182712" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category></item><item><title>DDD-Exchange 2011</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/13/ddd-exchange-2011.aspx</link><pubDate>Mon, 13 Jun 2011 09:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10173838</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10173838</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10173838</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/13/ddd-exchange-2011.aspx#comments</comments><description>&lt;p&gt;So, it was such a great event with Eric Evans, Udi Dahan and Greg Young.&lt;/p&gt;
&lt;p&gt;Here I post a few pictures I got.&lt;/p&gt;
&lt;p&gt;Before starting:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3515.DSC01466_5F00_302386A2.jpg"&gt;&lt;img height="229" width="304" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7888.DSC01466_5F00_thumb_5F00_0F8C2123.jpg" alt="DSC01466" border="0" title="DSC01466" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5238.DSC01467_5F00_71CA9663.jpg"&gt;&lt;img height="229" width="304" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3755.DSC01467_5F00_thumb_5F00_1AA585A0.jpg" alt="DSC01467" border="0" title="DSC01467" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Eric Evans presenting the Agenda:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/2744.image_5F00_66FD1941.png"&gt;&lt;img height="292" width="304" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/1323.image_5F00_thumb_5F00_14C6CE08.png" alt="image" border="0" title="image" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Q&amp;amp;A to Eric, Udi and Greg:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3808.image_5F00_14B6A83B.png"&gt;&lt;img height="243" width="566" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8814.image_5F00_thumb_5F00_11FD0516.png" alt="image" border="0" title="image" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saying hello to Udi:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/5314.image_5F00_2937E3BA.png"&gt;&lt;img height="252" width="306" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3223.image_5F00_thumb_5F00_7CCAEB6E.png" alt="image" border="0" title="image" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Strong discussions below&amp;hellip; &lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/3323.wlEmoticon_2D00_winkingsmile_5F00_21B8861B.png" alt="Winking smile" class="wlEmoticon wlEmoticon-winkingsmile" style="border-style: none;" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/7180.DSC01477_5F00_611639AB.jpg"&gt;&lt;img height="232" width="308" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/8463.DSC01477_5F00_thumb_5F00_3A37FD9E.jpg" alt="DSC01477" border="0" title="DSC01477" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All in all, I really liked all the sessions, check it out here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://skillsmatter.com/event/design-architecture/ddd-exchange-2011/js-2046"&gt;http://skillsmatter.com/event/design-architecture/ddd-exchange-2011/js-2046&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173838" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Architecture/">Architecture</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/CQRS/">CQRS</category></item><item><title>Working with WCF RIA Services JSON endpoints for HTML5, JavaScript &amp; JQuery</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/07/working-with-wcf-ria-services-json-endpoints-for-html5-javascript-amp-jquery.aspx</link><pubDate>Tue, 07 Jun 2011 11:25:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10172069</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10172069</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10172069</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/07/working-with-wcf-ria-services-json-endpoints-for-html5-javascript-amp-jquery.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;WCF RIA Services and JSON endpoints&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Interesting posts about the base for many future apps based on HTML5, WCF RIA Services JSON endpoints and JavaScript :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2010/12/14/how-to-open-a-wcf-ria-services-application-to-other-type-of-clients-the-json-endpoint-4-5.aspx"&gt;http://blogs.msdn.com/b/davrous/archive/2010/12/14/how-to-open-a-wcf-ria-services-application-to-other-type-of-clients-the-json-endpoint-4-5.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.yumasoft.com/node/108"&gt;http://www.yumasoft.com/node/108&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joseph-connolly.com/blog/post/WCF-RIA-Services-jQuery-and-JSON-endpoint-Part-1.aspx"&gt;http://joseph-connolly.com/blog/post/WCF-RIA-Services-jQuery-and-JSON-endpoint-Part-1.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Developer &amp;amp; Design Tools will evolve to simplify and give much more productivity, but this is the technical base for many future Internet scenarios.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;MVVM pattern and JQuery, JSON and JavaScript&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Regarding architecture and design patterns, a MVVM seems interesting when consuming REST Web-Services from JavaScript and Jquery. Here I have several options and posts:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://kaboom.codeplex.com/"&gt;http://kaboom.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.claritycon.com/blog/2011/02/20/mvvm-databinding-javascript-with-knockout-html5-boilerplate/"&gt;http://blogs.claritycon.com/blog/2011/02/20/mvvm-databinding-javascript-with-knockout-html5-boilerplate/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.google.com/url?sa=D&amp;amp;q=http://channel9.msdn.com/Events/MIX/MIX11/FRM08"&gt;http://channel9.msdn.com/Events/MIX/MIX11/FRM08&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://stackoverflow.com/questions/6089727/how-to-architecture-a-webapp-using-jquery-mobile-and-knockoutjs"&gt;http://stackoverflow.com/questions/6089727/how-to-architecture-a-webapp-using-jquery-mobile-and-knockoutjs&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I still have to test this stuff out… We’ll see…&lt;/p&gt;  &lt;p&gt;--&lt;/p&gt;  &lt;p&gt;On the other hand, &lt;strong&gt;WCF RIA Services&lt;/strong&gt; &amp;amp; &lt;strong&gt;Silverlight&lt;/strong&gt; is still the best choice for LOB apps (Enterprise apps, Line Of Business Apps), especially ‘Out of the Browser’ (Windows). &lt;strong&gt;VS.LightSwitch&lt;/strong&gt; is another RAD tool being released this summer of 2011, and it bets on Silverlight.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172069" width="1" height="1"&gt;</description></item><item><title>Implementing a Value-Object Base class (Supertype pattern–DDD patterns related)</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/07/implementing-a-value-object-base-class-supertype-pattern-ddd-patterns-related.aspx</link><pubDate>Mon, 06 Jun 2011 22:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10171788</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10171788</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10171788</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/06/07/implementing-a-value-object-base-class-supertype-pattern-ddd-patterns-related.aspx#comments</comments><description>&lt;p&gt;It is usually a recommended practice to have Value-Object base-class so we can have common functionality which can be used by all of our value-object classes. Typically, comparison methods or any other common subject for Value-Objects, should be included here.&lt;/p&gt;
&lt;p&gt;Below I show a sample Value-Object Base-Class:&lt;/p&gt;
&lt;pre&gt;public class &lt;strong&gt;&lt;span style="font-size: x-small;"&gt;ValueObject&amp;lt;TValueObject&amp;gt;&lt;/span&gt;&lt;/strong&gt; : IEquatable&amp;lt;TValueObject&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where TValueObject : ValueObject&amp;lt;TValueObject&amp;gt;&lt;br /&gt;{&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;public bool &lt;strong&gt;Equals(&lt;/strong&gt;TValueObject other)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)other == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //compare all public properties&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PropertyInfo[] publicProperties = this.GetType().GetProperties();&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)publicProperties != null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publicProperties.Any())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool result = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var item in publicProperties)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //compare two values using default equatable method&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!item.GetValue(this, null).Equals(item.GetValue(other, null)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;public override bool &lt;strong&gt;Equals(&lt;/strong&gt;object obj)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)obj == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ValueObject&amp;lt;TValueObject&amp;gt; item = obj as ValueObject&amp;lt;TValueObject&amp;gt;;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)item != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Equals((TValueObject)item);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;public override int &lt;strong&gt;GetHashCode()&lt;/strong&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int hashCode = 31;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool changeMultiplier = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int index = 1;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //compare all public properties&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PropertyInfo[] publicProperties = this.GetType().GetProperties();&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)publicProperties != null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publicProperties.Any())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var item in publicProperties)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object value = item.GetValue(this, null);&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((object)value != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hashCode = hashCode * ((changeMultiplier) ? 59 : 114) + value.GetHashCode();&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeMultiplier = !changeMultiplier;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hashCode = hashCode ^ (index * 13);//only for support {"a",null,null,"a"} &amp;lt;&amp;gt; {null,"a","a",null}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return hashCode;&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;public static bool &lt;strong&gt;&lt;span style="font-size: x-small;"&gt;operator ==&lt;/span&gt;&lt;/strong&gt;(ValueObject&amp;lt;TValueObject&amp;gt; x, ValueObject&amp;lt;TValueObject&amp;gt; y)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If both are null, or both are same instance, return true.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (System.Object.ReferenceEquals(x, y))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If one is null, but not both, return false.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (((object)x == null) || ((object)y == null))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Return true if the fields match:&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return x.Equals(y);&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;public static bool &lt;span style="font-size: x-small;"&gt;&lt;strong&gt;operator !=&lt;/strong&gt;&lt;/span&gt;(ValueObject&amp;lt;TValueObject&amp;gt; x, ValueObject&amp;lt;TValueObject&amp;gt; y)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !(x == y);&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10171788" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/-NET+4-0/">.NET 4.0</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category></item><item><title>Don’t like EF 4.1 ‘Data Annotations’ for DDD Architectures implementation –’Fluent API’ fits better for that!</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/05/27/don-t-like-ef-4-1-data-annotations-for-ddd-architectures-implementation-fluent-api-fits-better.aspx</link><pubDate>Fri, 27 May 2011 16:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10169139</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10169139</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10169139</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/05/27/don-t-like-ef-4-1-data-annotations-for-ddd-architectures-implementation-fluent-api-fits-better.aspx#comments</comments><description>&lt;p&gt;I write this post in order to get some feedback regarding what I currently think about EF 4.1 Data Annotations and how it fits in DDD Architectural styles. &lt;/p&gt;
&lt;p&gt;About DDD Architectural styles, here it is our Architecture Guide (Though we are actually writing its second edition, adding EF 4.1 Code-First approach). But most DDD Architectural concepts and patterns are exposed there:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-es/architecture/en/"&gt;http://msdn.microsoft.com/es-es/architecture/en/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The subject I want to toss about is the following:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In DDD architecture designs we must isolate our Domain Model Layer and therefore, our Domain Entities from any other layer, especially from infrastructure layers, like Data Persistence layers where we have the selected data technology (like EF or NHibernate, etc.). Even more, our Domain Classes (Entities, Value-Objects, Domain Services, etc.) should comply the PERSISTENCE IGNORANCE PRINCIPLE. This is why POCO Entities are the right choice for DDD.&lt;/p&gt;
&lt;p&gt;Ok, then here we come with &lt;strong&gt;EF 4.1 CODE-FIRST approach&lt;/strong&gt;, which is great for POCO Domain entities and fits great within DDD Architectural styles. Cool!&lt;/p&gt;
&lt;p&gt;If you deep-dive a bit into EF 4.1 CODE-FIRST, you&amp;rsquo;ll see that the initial way to make the mappings from your POCO Domain Entities classes towards your final database tables is based on conventions. Ok, that is nice, but then, if those conventions are not ok for you (because you need to adjust to an existing database or whatever), then you need to customize those conventions. You can do that either in two ways:&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Data Annotations&lt;/strong&gt;. For any of you that might not know what is EF 4.1 &amp;lsquo;Data Annotations&amp;rsquo;, here you have a link:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/gg193958"&gt;http://msdn.microsoft.com/en-us/data/gg193958&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Fluent API&lt;/strong&gt;. Regarding EF 4.1 &amp;lsquo;Data Annotations&amp;rsquo;, here you have another link:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/gg194005"&gt;http://msdn.microsoft.com/en-us/data/gg194005&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What I think is the following:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&amp;lsquo;Data Annotations&amp;rsquo; &lt;/i&gt;&lt;/b&gt;might initially look very appealing and easy to use when decorating our classes with attributes, but, on the other hand, and from a POCO point of view, it is a bit intrusive on our Domain entities, as we need to write specific attributes which are links to a specific persistence infrastructure, like EF 4.1. Even when most EF &amp;lsquo;Data Annotation&amp;rsquo; attributes are defined within the &amp;lsquo;&lt;strong&gt;System.ComponentModel.DataAnnotations&lt;/strong&gt;&amp;rsquo; namespace which is part of the .NET Framework, still it is a bit intrusive on our Domain Entities.&lt;/p&gt;
&lt;p&gt;On the other hand, using &amp;lsquo;&lt;b&gt;Default Conventions&lt;/b&gt;&amp;rsquo; or customizing it with &amp;lsquo;&lt;b&gt;Fluent API&lt;/b&gt;&amp;rsquo; is a way that fits much better with the PI (&lt;i&gt;Persistence Ignorant&lt;/i&gt;), because our Domain Model will be ignorant of those mappings which will be defined into our Data Persistence Infrastructure layer, so, our Domain Model Layer will be better isolated from infrastructure implementation.&lt;/p&gt;
&lt;p&gt;Therefore, if you are starting your project from scratch, the best way to go would probably be this: &amp;ldquo;&lt;b&gt;&lt;i&gt;Base your entity classes on default conventions, as much as you can&lt;/i&gt;&lt;/b&gt;&amp;rdquo;, because then your POCO domain entities will be cleaner, pure POCO!. Additionally, using &amp;lsquo;&lt;b&gt;Fluent API&lt;/b&gt;&amp;rsquo; would be transparent towards your Domain Entity Classes and you won&amp;rsquo;t stain your POCO Domain Entities, either.&lt;/p&gt;
&lt;p&gt;We should make use of the Code First &amp;lsquo;Fluent API&amp;rsquo; in order to change/customize our entity mappings, however, it must be written overriding &lt;b&gt;DbContext&lt;/b&gt; methods (within our EF Context class). Specifically, we must override the &amp;lsquo;&lt;b&gt;DbContext OnModelCreating()&lt;/b&gt;&amp;rsquo; method. Therefore, that is part of the Data Persistence Infrastructure Layer, so we won&amp;rsquo;t be messing on our POCO Domain Entities.&lt;/p&gt;
&lt;p&gt;Thoughts?, Comments? &lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75-metablogapi/4721.wlEmoticon_2D00_smile_5F00_3115EA69.png" alt="Smile" class="wlEmoticon wlEmoticon-smile" style="border-style: none;" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10169139" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Entity_2D00_Framework/">Entity-Framework</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category></item><item><title>Just Published the English version of our 'DDD N-Layered .NET 4.0 Architecture Guide’ book and Sample-App at CODEPLEX</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/05/23/just-published-the-english-version-of-our-ddd-n-layered-net-4-0-architecture-guide-book-and-sample-app-at-codeplex.aspx</link><pubDate>Mon, 23 May 2011 14:56:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10167345</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10167345</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10167345</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/05/23/just-published-the-english-version-of-our-ddd-n-layered-net-4-0-architecture-guide-book-and-sample-app-at-codeplex.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/cc982177.aspx"&gt;&lt;img src="http://i.msdn.microsoft.com/aa699358.MoA-Small(en-us,MSDN.10).png" align="left" alt="Platform Architecture Team" title="Platform Architecture Team" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Our.0ArchitectureGuidebookandSampleAppin_B35/image_2.png"&gt;&lt;img height="141" width="453" src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Our.0ArchitectureGuidebookandSampleAppin_B35/image_thumb.png" alt="image" border="0" title="image" style="width: 449px; display: inline; height: 138px; border-width: 0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We just published the English version of our 'DDD N-Layered .NET 4.0 Architecture Guide&amp;rsquo; book (at MSDN).&lt;/p&gt;
&lt;p&gt;The &amp;lsquo;&lt;i&gt;landing page&lt;/i&gt;&amp;rsquo; where you can download the &lt;b&gt;free&lt;/b&gt; &lt;strong&gt;&lt;i&gt;eBook&lt;/i&gt;&lt;/strong&gt; in several formats like &lt;b&gt;.PDF&lt;/b&gt;, &lt;b&gt;.XPS&lt;/b&gt; and for &lt;em&gt;&lt;b&gt;eBook Readers&lt;/b&gt;&lt;/em&gt; &lt;b&gt;(.EPUB&lt;/b&gt;, &lt;b&gt;.MOBI&lt;/b&gt;) is the following:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/es-es/architecture/en/"&gt;http://msdn.microsoft.com/es-es/architecture/en/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="24" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="694" valign="top"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This special&amp;nbsp;post is dedicated to let you know that we recently published at MSDN the new DDD .NET 4.0 Architecture Guide/Book (First Edition in English), available as eBook (.PDF, .EPUB and .MOBI) which follows &lt;i&gt;Domain Driven Design&lt;/i&gt; Architectural style and trends. We also provide an end-to-end sample application (at CODEPLEX) where you can check every .NET code aspect. We were working on it during 2010 and published the same guidance in Spanish in late 2010. Since its first publication we got really good feedback you can check below and at our CODEPLEX site.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Microsoft has noticed, in multiple customers and partners, the need to have a &amp;ldquo;.NET Base Architecture Guide&amp;rdquo; that can serve as an outline for designing and implementing &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;complex and mission critical enterprise .NET applications with long term life and long evolution (DDD target apps)&lt;/span&gt;&lt;/b&gt;. This frame of common work defines a clear path to the design and implementation of business applications of great importance with a considerable volume of business logic. Following these guidelines offers important benefits regarding quality, stability, and especially, an improvement of future maintenance of the application, due to the loose-coupling between components, homogeneity, and similarities of the different developments that will be done based on these guidelines.&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="339" rowspan="2" valign="top"&gt;
&lt;p align="center"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="308" rowspan="2" valign="top"&gt;
&lt;p align="center"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="15" valign="top"&gt;
&lt;p align="center"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="15" valign="top"&gt;
&lt;p align="center"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This Architecture Guidance has also been reviewed by the &lt;b&gt;&lt;i&gt;Microsoft Entity Framework Product Group (Microsoft Corp)&lt;/i&gt;&lt;/b&gt; because EF is a core component of the technology it uses.&lt;/p&gt;
&lt;p&gt;It is also available as a regular printed book, in English or Spanish, from &lt;b&gt;&lt;i&gt;Krasis Press&lt;/i&gt;&lt;/b&gt;:&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="103" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="167" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sample Application&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We elaborated a sample application as a needed companion for this Architecture guidance, so anyone can check every pattern implementation in a working and end to end example. This sample app is published as OPEN SOURCE CODE at the following CODEPLEX site:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://microsoftnlayerapp.codeplex.com/"&gt;http://microsoftnlayerapp.codeplex.com/&lt;/a&gt; &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="222" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="271" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="246" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;strong&gt;Related technologies&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The guidance implements typical DDD patterns (&lt;b&gt;Domain Entities, Repositories, Aggregates, Unit of Work, Value Object, Domain &amp;amp; Application Services&lt;/b&gt;, etc.) and &lt;b&gt;IoC/DI&lt;/b&gt; techniques, using the following technologies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Visual Studio 2010 y .NET 4.0&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Entity Framework 4.0&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;UNITY 2.0&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;WCF &lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Silverlight 4.0&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;WPF 4.0&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ASP.NET MVC&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;PEX&amp;amp;MOLES&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows Server AppFabric Hosting &amp;amp; Cache &lt;/em&gt;(Optional)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows Azure &lt;/em&gt;(Optional)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;SQL Server &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;SQL Azure &lt;/em&gt;(Optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;strong&gt;Feedback&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following are a few comments and feedback gathered from our CODEPLEX site:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;Brilliant. The best fully developed example available. The documentation will become my architecture bible&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/TimCromarty"&gt;TimCromarty&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on May 14 at 12:16 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;This is by far the best DDD guide and sample project around.&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/Cyberdude3"&gt;Cyberdude3&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Apr 11 at 3:25 PM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;The best online project about DDD...&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/alen_ekt18"&gt;alen_ekt18&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Apr 2 at 12:41 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;Oh my god Really The English book that goes with this release is so awesome. It&amp;rsquo;s the best technical document with guidelines that I read by FAR Looking forward to see it being finished! Keep up this excellent work please Can't use enough superlatives Best Regards, Tom&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/buckley"&gt;buckley&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Mar 30 at 11:34 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;I just started reading the English version of the documentation. It is awesome. The authors injected much practical knowledge and insights into the abstract topics of application architecture. If you have read Evans and Fowler, the documentation will help you really put all the theoretical ideas together in more tangible ways than I have seen any literature to date. Great work.&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/liberty2k"&gt;liberty2k&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Mar 10 at 9:06 PM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;Very sophisticated and well thought out. Will be using this to compare to our architecture which is very similar using DDD, Repository Pattern, Linq, Unity and Entity Framework. Can't wait to get the full English translation.&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/ben555"&gt;ben555&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Feb 25 at 12:28 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;Creo que este proyecto &amp;iexcl;es una joya! Ya lo estoy aplicando en soluciones a problemas reales y me ha dado preciosas y buenas sorpresas de buen funcionamiento. Me parece que es admirable el trabajo desarrollado para los repositorios gen&amp;eacute;ricos con LINQ, especificaciones y filtros. Gracias nuevamente a C&amp;eacute;sar y al equipo todo.&lt;br /&gt;by &lt;a href="http://www.codeplex.com/site/users/view/asereware"&gt;asereware&lt;/a&gt; on Feb 5 at 7:57 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;(5*)&lt;br /&gt;Most impressive .Net project ever seen. Keep up the (awesome) good work!&lt;br /&gt;by &lt;/i&gt;&lt;i&gt;&lt;a href="http://www.codeplex.com/site/users/view/NicoJuicy"&gt;NicoJuicy&lt;/a&gt;&lt;/i&gt;&lt;i&gt; on Feb 2 at 1:24 AM &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can check more feedback and ratings, at our CODEPLEX site:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/discussions/229559"&gt;http://microsoftnlayerapp.codeplex.com/discussions/229559&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/releases/view/56660#ReviewsAnchor"&gt;http://microsoftnlayerapp.codeplex.com/releases/view/56660#ReviewsAnchor&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This guidance is a living Project so it will continue evolving the Guide and Sample App. Specifically we are already working on the following new features:&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;EF 4.1 evolution (POCO Code-First Entities)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;Claims-based Security implementation on the sample application (The Guide already covers it)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;New Client technologies (Windows Phone 7, HTML5, etc.) &lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We hope this work might be useful for many organizations and we encourage you to provide &lt;em&gt;feed-back&lt;/em&gt; and new ideas using our discussions-forum at CODEPLEX. &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="16" valign="top"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;C&amp;eacute;sar de la Torre Llorente&lt;br /&gt;Architect, DPE&lt;br /&gt;Microsoft &lt;/p&gt;
&lt;p&gt;&lt;a href="http://click.email.microsoftemail.com/?qs=5427788eedc93a5c758c0da698d780b48136630028e05bd4d3f09c71e388d124de39349a22a659f5"&gt;http://blogs.msdn.com/cesardelatorre/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-es/architecture/en/"&gt;http://msdn.microsoft.com/es-es/architecture/en/&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10167345" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Entity_2D00_Framework/">Entity-Framework</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Architecture/">Architecture</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/N_2D00_Tier/">N-Tier</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/-NET+4-0/">.NET 4.0</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/DDD/">DDD</category></item><item><title>Workshop VS.Lightswitch &amp; Windows Azure!</title><link>http://blogs.msdn.com/b/cesardelatorre/archive/2011/04/26/workshop-vs-lightswitch-amp-windows-azure.aspx</link><pubDate>Tue, 26 Apr 2011 11:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10158079</guid><dc:creator>cesardl [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/rsscomments.aspx?WeblogPostID=10158079</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/cesardelatorre/commentapi.aspx?WeblogPostID=10158079</wfw:comment><comments>http://blogs.msdn.com/b/cesardelatorre/archive/2011/04/26/workshop-vs-lightswitch-amp-windows-azure.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img height="122" width="404" src="http://www.microsoft.com/Spain/msdn/architecture/images_news/msarquitecture.jpg" align="middle" /&gt;&lt;/p&gt;
&lt;p&gt;[UPDATED June 7th] Here I add a nice LightSiwtch Sample Application:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/05/25/contoso-construction-lightswitch-advanced-development-sample.aspx"&gt;http://blogs.msdn.com/b/bethmassi/archive/2011/05/25/contoso-construction-lightswitch-advanced-development-sample.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[UPDATED May 11th 2011]&lt;/p&gt;
&lt;p&gt;Here I attach the presentation we delivered in this Workshop.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;On May 5th, joining forces with Avanade, we&amp;rsquo;ll deliver the following Workshop in Microsoft Office (Madrid):&lt;/p&gt;
&lt;p&gt;Maximum productivity and 'Time-To-Market' using the new Microsoft RAD &lt;strong&gt;&lt;em&gt;VS.LightSwitch&lt;/em&gt;&lt;/strong&gt; and &lt;em&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This environment is especially made for small &amp;amp; departmental apps. Non complex scenarios for very simple &amp;amp; small apps.&lt;/p&gt;
&lt;p&gt;The event will be delivered in SPANISH.&lt;/p&gt;
&lt;p&gt;You can register here (Free registration):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480432&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480432&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10158079" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-15-80-79/Ligthswitch-Zero-Code-v1.1.pdf" length="8659089" type="application/octet-stream" /><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Microsoft+Events+Speaker/">Microsoft Events Speaker</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/Window+Azure/">Window Azure</category><category domain="http://blogs.msdn.com/b/cesardelatorre/archive/tags/VS-Lightswitch/">VS.Lightswitch</category></item></channel></rss>
