<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">US ISV Developer Community</title><subtitle type="html">Posts helpful to US-based ISVs implementing products on the Microsoft platform</subtitle><id>http://blogs.msdn.com/usisvde/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/usisvde/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-12-11T20:20:15Z</updated><entry><title>Take a Tour of Data Center in a Container</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/22/take-a-tour-of-data-center-in-a-container.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/22/take-a-tour-of-data-center-in-a-container.aspx</id><published>2009-12-22T11:13:00Z</published><updated>2009-12-22T11:13:00Z</updated><content type="html">&lt;P&gt;Frank Arrigo takes you on a tour of what the cloud physically looks like by walking you through a container that was shown at &lt;A href="http://microsoftpdc.com/" mce_href="http://microsoftpdc.com/"&gt;Professional Developers Conference (PDC09)&lt;/A&gt;. The container is similar to one that is placed in data centers that host your &lt;A href="http://azure.com/" mce_href="http://azure.com"&gt;Windows Azure&lt;/A&gt; applications.&lt;/P&gt;&lt;EMBED height=310 type=application/x-shockwave-flash width=480 src=http://blip.tv/play/gqVFgbHmagI%2Em4v allowfullscreen="true" allowscriptaccess="always" mce_src="http://blip.tv/play/gqVFgbHmagI%2Em4v"&gt;&lt;/EMBED&gt; 
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="COLOR: #548dd4; FONT-SIZE: 14pt" lang=EN-GB&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="COLOR: #548dd4; FONT-SIZE: 14pt" lang=EN-GB&gt;Bruce D. Kyle&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 14pt" lang=EN-GB&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: gray; FONT-SIZE: 10pt"&gt;ISV Architect Evangelist&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt; | &lt;SPAN style="COLOR: gray"&gt;Microsoft Corporation&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;A href="http://www.facebook.com/brucedkyle" mce_href="http://www.facebook.com/brucedkyle"&gt;&lt;SPAN style="COLOR: windowtext; FONT-SIZE: 10pt; TEXT-DECORATION: none"&gt;&lt;IMG id="Picture 7" border=0 alt=cid:image010.png@01C9DEED.1FDB2200 src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif" width=16 height=16 mce_src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;A href="http://www.linkedin.com/in/bdkyle" mce_href="http://www.linkedin.com/in/bdkyle"&gt;&lt;SPAN style="COLOR: windowtext; FONT-SIZE: 10pt; TEXT-DECORATION: none"&gt;&lt;IMG id="Picture 8" border=0 alt=cid:image011.png@01C9DEED.1FDB2200 src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif" width=16 height=16 mce_src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://twitter.com/brucedkyle" mce_href="http://twitter.com/brucedkyle"&gt;&lt;SPAN style="COLOR: windowtext; FONT-SIZE: 10pt; TEXT-DECORATION: none"&gt;&lt;IMG id="Picture 9" border=0 alt=cid:image012.gif@01C9DEED.1FDB2200 src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif" width=16 height=16 mce_src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif"&gt;&lt;/SPAN&gt;&lt;/A&gt; &lt;A href="http://channel9.msdn.com/Niners/bruceky/" mce_href="http://channel9.msdn.com/Niners/bruceky/"&gt;&lt;SPAN style="COLOR: windowtext; FONT-SIZE: 10pt; TEXT-DECORATION: none"&gt;&lt;IMG id="Picture 8" border=0 alt=channel9 src="http://mscommunities.com/images/sites/ch9.gif" width=16 height=16 mce_src="http://mscommunities.com/images/sites/ch9.gif"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9932132" width="1" height="1"&gt;</content><author><name>Bruce Kyle</name><uri>http://blogs.msdn.com/members/Bruce+Kyle.aspx</uri></author><category term="Cloud Services" scheme="http://blogs.msdn.com/usisvde/archive/tags/Cloud+Services/default.aspx" /><category term="PDC" scheme="http://blogs.msdn.com/usisvde/archive/tags/PDC/default.aspx" /><category term="Windows Azure" scheme="http://blogs.msdn.com/usisvde/archive/tags/Windows+Azure/default.aspx" /><category term="Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Services+Platform/default.aspx" /><category term="Azure Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Azure+Services+Platform/default.aspx" /></entry><entry><title>New: NYC Microsoft Architecture Meetup</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/18/new-nyc-microsoft-architecture-meetup.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/18/new-nyc-microsoft-architecture-meetup.aspx</id><published>2009-12-18T15:21:25Z</published><updated>2009-12-18T15:21:25Z</updated><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Come and join us for the inaugural meetup of the NYC Microsoft Solution Architects :-) in January at the Microsoft office in NYC &lt;a title="http://bit.ly/73M7j9" href="http://bit.ly/73M7j9"&gt;http://bit.ly/73M7j9&lt;/a&gt; . &lt;/p&gt;  &lt;div style="text-align: center; width: 214px; font-family: tahoma, verdana, sans serif; font-size: 12px"&gt;&lt;embed src="http://www.meetup.com/swf/membership_badge.swf?chapterid=1569448" width="214" height="142" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;    &lt;br /&gt;&lt;a href="http://innovation.meetup.com/102/?track=i3/mu_zq0qiynfog"&gt;Click here to check out     &lt;br /&gt;The NYC Microsoft Solution Architects!&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Hope to see you there….&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy holidays!&lt;/p&gt;  &lt;p&gt;Gunther :-)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938739" width="1" height="1"&gt;</content><author><name>glenz</name><uri>http://blogs.msdn.com/members/glenz.aspx</uri></author></entry><entry><title>Share Real-time Premium Data with Codename "Dallas"</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/18/share-real-time-premium-data-with-codename-dallas.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/18/share-real-time-premium-data-with-codename-dallas.aspx</id><published>2009-12-18T13:49:00Z</published><updated>2009-12-18T13:49:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/WindowsAzure/dallas/"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="dallas" border="0" alt="dallas" align="right" src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/ShareRealtimePremiumDatawithCodenameDall_C42B/dallas_c5e16241-d502-4d7e-96d3-72d732339055.png" width="240" height="43" /&gt; Microsoft® Codename &amp;quot;Dallas&amp;quot;&lt;/a&gt;&lt;/strong&gt; is a new service allowing developers and information workers to easily discover, purchase and manage premium data subscriptions in the &lt;a href="http://www.microsoft.com/azure"&gt;Windows Azure platform&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Dallas was announced at &lt;a href="http://microsoftpdc.com/"&gt;Professional Developers Conference (PDC09)&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Dallas is an information marketplace that brings data, imagery, and real-time web services from leading commercial data providers and authoritative public data sources together into a single location, under a unified provisioning and billing framework. Additionally, Dallas APIs allow developers and information workers to consume this premium content with virtually any platform, application or business workflow.&lt;/p&gt;  &lt;h3&gt;Getting Started with Codename “Dallas” &lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Become a Dallas Content Provider &lt;a href="http://www.microsoft.com/windowsazure/dallaspartner/"&gt;&lt;b&gt;Learn More&lt;/b&gt;&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;To get started now, visit the &lt;a href="https://www.sqlazureservices.com"&gt;&lt;strong&gt;Dallas Developer Portal&lt;/strong&gt;&lt;/a&gt; to get an account key and quick start tutorials. &lt;/li&gt;    &lt;li&gt;To see the list of content available on Dallas, please visit us on the &lt;a href="http://www.MicrosoftPinpoint.com/Dallas"&gt;&lt;strong&gt;Microsoft Pinpoint Marketplace&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Resources&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://azure.com/dallas"&gt;Dallas product page&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Azure/Dallas/"&gt;Channel 9 Training Course on Dallas&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC29"&gt;PDC Session on Dallas&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/Charles/Introducing-Dallas/"&gt;Channel 9 Video&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/dallas"&gt;Dallas Team Blog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #548dd4; font-size: 14pt" lang="EN-GB"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #548dd4; font-size: 14pt" lang="EN-GB"&gt;Bruce D. Kyle&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: black; font-size: 14pt" lang="EN-GB"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: gray; font-size: 10pt"&gt;ISV Architect Evangelist&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt"&gt; | &lt;span style="color: gray"&gt;Microsoft Corporation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.facebook.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 7" border="0" alt="cid:image010.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;a href="http://www.linkedin.com/in/bdkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="cid:image011.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt;&amp;#160;&lt;/span&gt;&lt;a href="http://twitter.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 9" border="0" alt="cid:image012.gif@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;a href="http://channel9.msdn.com/Niners/bruceky/"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="channel9" src="http://mscommunities.com/images/sites/ch9.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://blogs.msdn.com/usisvde"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;amp;pub=xa-4abda27358d5f9db"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" alt="Bookmark and Share" src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
tweetmeme_url = 'http://blogs.msdn.com/usisvde/archive/2009/12/18/share-real-time-premium-data-with-codename-dallas.aspx';
tweetmeme_source = 'brucedkyle';
tweetmeme_service = 'bit.ly';
&lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9934836" width="1" height="1"&gt;</content><author><name>Bruce Kyle</name><uri>http://blogs.msdn.com/members/Bruce+Kyle.aspx</uri></author><category term="Roadmaps+Initiatives" scheme="http://blogs.msdn.com/usisvde/archive/tags/Roadmaps_2B00_Initiatives/default.aspx" /><category term="Software+Services" scheme="http://blogs.msdn.com/usisvde/archive/tags/Software_2B00_Services/default.aspx" /><category term="PowerShell" scheme="http://blogs.msdn.com/usisvde/archive/tags/PowerShell/default.aspx" /><category term="Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Services+Platform/default.aspx" /><category term="Azure Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Azure+Services+Platform/default.aspx" /><category term="Data" scheme="http://blogs.msdn.com/usisvde/archive/tags/Data/default.aspx" /><category term="Developer Tools" scheme="http://blogs.msdn.com/usisvde/archive/tags/Developer+Tools/default.aspx" /></entry><entry><title>Windows 7 Boot Camp Videos Now Live</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/18/windows-7-boot-camp-videos-now-live.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/18/windows-7-boot-camp-videos-now-live.aspx</id><published>2009-12-18T01:08:00Z</published><updated>2009-12-18T01:08:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.microsoft.com/windows/windows-7/default.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 15px 10px; display: inline; border-top: 0px; border-right: 0px" title="windows 7 bl h" border="0" alt="windows 7 bl h" align="right" src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/Windows7BootCampVideosNowLive_B8DE/windows%207%20bl%20h_3.png" width="240" height="38" /&gt;&lt;/a&gt; Windows 7 Boot Camp pre-con event videos to &lt;a href="http://microsoftpdc.com/"&gt;Professional Developers Conference (PDC09)&lt;/a&gt; are now live. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://windowsteamblog.com/members/Yochay-Kiriaty/default.aspx"&gt;Yochay Kiriaty&lt;/a&gt; has posted links to the videos on the Windows 7 blog posting, &lt;a href="http://windowsteamblog.com/blogs/developers/archive/2009/12/16/the-windows-7-pdc-boot-camp-recordings-are-online.aspx"&gt;The Windows 7 PDC Boot Camp Recordings Are Online&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The videos include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Multi-core processing.&lt;/strong&gt; &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista/"&gt;Arun Kishan&lt;/a&gt; described his work around the thread and process allocation that frees the kernel from its thread dispatcher locks and gives Windows 7 the ability to scale seamlessly to many (256) cores. Arun also talked about the new &lt;a href="http://msdn.microsoft.com/en-us/library/dd627187(VS.85).aspx"&gt;User Mode Scheduling&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Memory management.&lt;/strong&gt; &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Landy-Wang-Windows-Memory-Manager/"&gt;Landy Wang&lt;/a&gt; of Kernel team describes the changes to Windows 7 Memory Management.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Taskbar.&lt;/strong&gt; &lt;a href="http://blogs.msdn.com/jaimer/"&gt;Jaime Rodriguez&lt;/a&gt; has a great talk about the Windows 7 Taskbar, showing multiple ways (native and managed, using Window API Code Pack and WPF 4) to add great Taskbar functionality to your application.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Libraries, Sensor and Location Platform.&lt;/strong&gt; Yochay has a couple talks on what you need to remember as developers since libraries may sometimes break your application.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Graphics&lt;/strong&gt;. Michael Oneppo explained the changes in the Windows 7 graphics stack. Michael's presentation is very interesting, as it describes some of the DirectX API that was down-ported to Windows 7 as a part of the &lt;a href="http://support.microsoft.com/kb/971644"&gt;Platform Update for Windows Vista and the Platform Update for Windows Server 2008&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Multitouch&lt;/strong&gt;. Jaime was the last speaker of the day, covering Windows 7 Multitouch. Jaime explained the concept of multitouch using the native API, but switched to WPF 4.0 support for multitouch.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For time codes and links so you can go to the exact place of interest, see &lt;a href="http://windowsteamblog.com/blogs/developers/archive/2009/12/16/the-windows-7-pdc-boot-camp-recordings-are-online.aspx"&gt;The Windows 7 PDC Boot Camp Recordings Are Online&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For information about getting started in your own application with Windows 7 features, see the &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/"&gt;Windows 7 Training kit&lt;/a&gt; that is available from the &lt;a href="http://channel9.msdn.com/learn"&gt;Channel 9 Learning Center&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;See the &lt;a href="http://msdn.microsoft.com/en-us/windows/default.aspx"&gt;Windows 7 Development Center&lt;/a&gt; on MSDN. Additional how-to videos are available on MSDEV:&amp;#160; &lt;a&gt;Windows 7 New Features for Managed Code Developers&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #548dd4; font-size: 14pt" lang="EN-GB"&gt;Bruce D. Kyle&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: black; font-size: 14pt" lang="EN-GB"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: gray; font-size: 10pt"&gt;ISV Architect Evangelist&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt"&gt; | &lt;span style="color: gray"&gt;Microsoft Corporation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.facebook.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 7" border="0" alt="cid:image010.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;a href="http://www.linkedin.com/in/bdkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="cid:image011.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt;&amp;#160;&lt;/span&gt;&lt;a href="http://twitter.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 9" border="0" alt="cid:image012.gif@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;a href="http://channel9.msdn.com/Niners/bruceky/"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="channel9" src="http://mscommunities.com/images/sites/ch9.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://blogs.msdn.com/usisvde"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;amp;pub=xa-4abda27358d5f9db"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" alt="Bookmark and Share" src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" /&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js?pub=xa-4abda27358d5f9db"&gt;&lt;/script&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
tweetmeme_url = 'http://blogs.msdn.com/usisvde/archive/2009/12/18/windows-7-boot-camp-videos-now-live.aspx';
tweetmeme_source = 'brucedkyle';
tweetmeme_service = 'bit.ly';
&lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938386" width="1" height="1"&gt;</content><author><name>Bruce Kyle</name><uri>http://blogs.msdn.com/members/Bruce+Kyle.aspx</uri></author><category term="Events+Training" scheme="http://blogs.msdn.com/usisvde/archive/tags/Events_2B00_Training/default.aspx" /><category term="Windows Client" scheme="http://blogs.msdn.com/usisvde/archive/tags/Windows+Client/default.aspx" /><category term="Product Line" scheme="http://blogs.msdn.com/usisvde/archive/tags/Product+Line/default.aspx" /><category term="maps" scheme="http://blogs.msdn.com/usisvde/archive/tags/maps/default.aspx" /><category term="PDC" scheme="http://blogs.msdn.com/usisvde/archive/tags/PDC/default.aspx" /><category term="win7" scheme="http://blogs.msdn.com/usisvde/archive/tags/win7/default.aspx" /><category term="windows7" scheme="http://blogs.msdn.com/usisvde/archive/tags/windows7/default.aspx" /><category term="Windows 7" scheme="http://blogs.msdn.com/usisvde/archive/tags/Windows+7/default.aspx" /><category term="Multitouch" scheme="http://blogs.msdn.com/usisvde/archive/tags/Multitouch/default.aspx" /><category term="Touch" scheme="http://blogs.msdn.com/usisvde/archive/tags/Touch/default.aspx" /><category term="Multi-touch" scheme="http://blogs.msdn.com/usisvde/archive/tags/Multi-touch/default.aspx" /></entry><entry><title>Windows 7 Multitouch Videos</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/17/windows-7-multitouch-videos.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/17/windows-7-multitouch-videos.aspx</id><published>2009-12-17T20:11:00Z</published><updated>2009-12-17T20:11:00Z</updated><content type="html">&lt;P&gt;One of&amp;nbsp;our managed ISV&amp;nbsp;partners &lt;A href="http://www.iconics.com/" mce_href="http://www.iconics.com"&gt;Iconics&lt;/A&gt; created a channel on YouTube (&lt;A href="http://www.youtube.com/iconews"&gt;http://www.youtube.com/iconews&lt;/A&gt;) to showcase some of their videos.&amp;nbsp; They've got some spectacular videos of how they use multitouch on Windows 7 in their products.&amp;nbsp; Let us know if you have a channel where you share videos like this as well.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938367" width="1" height="1"&gt;</content><author><name>jasondel</name><uri>http://blogs.msdn.com/members/jasondel.aspx</uri></author><category term="Windows 7" scheme="http://blogs.msdn.com/usisvde/archive/tags/Windows+7/default.aspx" /><category term="Multitouch" scheme="http://blogs.msdn.com/usisvde/archive/tags/Multitouch/default.aspx" /></entry><entry><title>Free Silverlight 4 Training Now on Channel 9</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/17/free-silverlight-4-training-now-on-channel-9.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/17/free-silverlight-4-training-now-on-channel-9.aspx</id><published>2009-12-17T13:20:00Z</published><updated>2009-12-17T13:20:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/FreeSilverlight4TrainingNowonChannel9_BB9E/Silverlight%20Logo%20h%20c_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="Silverlight Logo h c" border="0" alt="Silverlight Logo h c" align="right" src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/FreeSilverlight4TrainingNowonChannel9_BB9E/Silverlight%20Logo%20h%20c_thumb.png" width="240" height="78" /&gt;&lt;/a&gt; Take advantage of the new &lt;a href="http://channel9.msdn.com/learn/courses/Silverlight4/"&gt;Silverlight 4 training course on Channel 9 Learning Center&lt;/a&gt; where you will learn about the latest features of the Silverlight 4 Beta, announced at the Professional Developers Conference 2009. &lt;/p&gt;  &lt;p&gt;Some of the new and highly anticipated features include Printing, Webcam and Microphone support, custom right-click, rich text, HTML support and access to local files with trusted applications. &lt;/p&gt;  &lt;p&gt;The course contains a video and a technical feature overview that allows you to drill down into lessons that address three topics: Enabling Business Application Development, Empowering Richer Experiences and Moving Beyond the Browser. Each lesson includes detailed guidance and code samples. &lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #548dd4; font-size: 14pt" lang="EN-GB"&gt;Bruce D. Kyle&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: black; font-size: 14pt" lang="EN-GB"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: gray; font-size: 10pt"&gt;ISV Architect Evangelist&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt"&gt; | &lt;span style="color: gray"&gt;Microsoft Corporation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.facebook.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 7" border="0" alt="cid:image010.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;a href="http://www.linkedin.com/in/bdkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="cid:image011.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt;&amp;#160;&lt;/span&gt;&lt;a href="http://twitter.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 9" border="0" alt="cid:image012.gif@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;a href="http://channel9.msdn.com/Niners/bruceky/"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="channel9" src="http://mscommunities.com/images/sites/ch9.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://blogs.msdn.com/usisvde"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;amp;pub=xa-4abda27358d5f9db"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" alt="Bookmark and Share" src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
tweetmeme_url = 'http://blogs.msdn.com/usisvde/archive/2009/12/17/free-silverlight-4-training-now-on-channel-9.aspx';
tweetmeme_source = 'brucedkyle';
tweetmeme_service = 'bit.ly';
&lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937880" width="1" height="1"&gt;</content><author><name>Bruce Kyle</name><uri>http://blogs.msdn.com/members/Bruce+Kyle.aspx</uri></author><category term="Events+Training" scheme="http://blogs.msdn.com/usisvde/archive/tags/Events_2B00_Training/default.aspx" /><category term="Product Line" scheme="http://blogs.msdn.com/usisvde/archive/tags/Product+Line/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/usisvde/archive/tags/Silverlight/default.aspx" /><category term="Developer Tools" scheme="http://blogs.msdn.com/usisvde/archive/tags/Developer+Tools/default.aspx" /><category term="Design" scheme="http://blogs.msdn.com/usisvde/archive/tags/Design/default.aspx" /></entry><entry><title>12 Days of RIA – Day 7 – Search</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/16/12-days-of-ria-day-7-search.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/16/12-days-of-ria-day-7-search.aspx</id><published>2009-12-16T22:18:00Z</published><updated>2009-12-16T22:18:00Z</updated><content type="html">&lt;P&gt;I got a bit ahead of myself with my desire to move on to styling the app, and decided instead to focus on a few more pieces of business app functionality first. And so, I’d like to show an approach for doing searching on more than one attribute. I want to disclaim this a bit, as I haven’t completely thought through the depths of what should or shouldn’t be done here, but I do want to offer this as a utilitarian approach. In taking a look at the data, I saw that Artist and Album were very simple – it’s the Track table that I found to be a little more interesting:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb.png" width=628 height=622 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;I already had a way to search for Artist by name – I wanted to add a means to search for Artists by album name, track name, or even track composer. Fortunately, LINQ made this a lot easier than I initially expected. I started by adding an additional query to the domain service which took artist name, album name, track name, and track composer as arguments:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_1.png" width=628 height=180 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;LINQ enabled me pass an IQueryable&amp;lt;Artist&amp;gt; through a pipeline of conditions – that enabled me to query by any combination of criteria . I’m not confident that this is the best LINQ code (in fact, I’m quite confident that it isn’t.) However, it hopefully illustrates the point:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_2.png" width=628 height=486 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I then went back to Artists.xaml and checked the data source to be sure that the FindArtistsQuery was now visible under the Artist entity&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_3.png" width=212 height=315 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This enabled me to replace the artistsDataGrid based on the GetArtistsByNameQuery with the FindArtistsQuery. After a little XAML adjustment similar to the one I did when I first built the page with the GetArtistsByNameQuery, I ended up with the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_4.png" width=628 height=708 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay7Search_139AE/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This implementation could of course use some work, but I think it illustrated how to do something a little more complex than query by a single value.&lt;/P&gt;
&lt;P&gt;Code for this is &lt;A href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day07-Search.zip" mce_href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day07-Search.zip"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938000" width="1" height="1"&gt;</content><author><name>jpelak</name><uri>http://blogs.msdn.com/members/jpelak.aspx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/usisvde/archive/tags/SQL+Server/default.aspx" /><category term="Architecture" scheme="http://blogs.msdn.com/usisvde/archive/tags/Architecture/default.aspx" /><category term="Source Code" scheme="http://blogs.msdn.com/usisvde/archive/tags/Source+Code/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/usisvde/archive/tags/Silverlight/default.aspx" /><category term="Data" scheme="http://blogs.msdn.com/usisvde/archive/tags/Data/default.aspx" /><category term="Expression Blend" scheme="http://blogs.msdn.com/usisvde/archive/tags/Expression+Blend/default.aspx" /><category term="Codeplex" scheme="http://blogs.msdn.com/usisvde/archive/tags/Codeplex/default.aspx" /><category term="Tutorial" scheme="http://blogs.msdn.com/usisvde/archive/tags/Tutorial/default.aspx" /><category term="RIA" scheme="http://blogs.msdn.com/usisvde/archive/tags/RIA/default.aspx" /></entry><entry><title>Summary: ISV Software Architecture Workshop in NYC!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/16/summary-isv-software-architecture-workshop-in-nyc.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/16/summary-isv-software-architecture-workshop-in-nyc.aspx</id><published>2009-12-16T13:39:00Z</published><updated>2009-12-16T13:39:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 hspace=12 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image002_thumb.jpg" width=146 height=113 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;B&gt;ISV Software Architecture Workshop&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Dec 10&lt;SUP&gt;th&lt;/SUP&gt; 2009, Microsoft NYC&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Context:&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The second ISV Software Architecture Workshop organized in NYC this year took place on December 10&lt;SUP&gt;th&lt;/SUP&gt;. The turnout was great and it is great to see that almost half of the participants were repeat offenders who already attended the first event in March 2009. The intended impact of the event is NSAT on the one hand and Microsoft technology adoption on the other and I think we this event we had a big impact on both of them in the NYC Software Architecture community!&lt;/P&gt;
&lt;P&gt;The help and support of Bill Zack (the local AE) and Ashish Jaiman (ISV AE from Washington DC) were essential for the success of this exclusive, and by invitation only, ISV Software Architecture Workshop (SAW) in New York City on December 10&lt;SUP&gt;th&lt;/SUP&gt; 2009 The event was in direct response to the feedback we received at the CTO Roundtable of our managed partners to facilitate more learning of new and emerging Microsoft technologies, experience exchange, and networking amongst the ISV community.&lt;/P&gt;
&lt;P&gt;We had 32 attendees focused around our managed ISVs but included also Microsoft Solution Architect MVPs, and members of the IASA (International Association of Software Architecture). The attendees consisted of mainly Software Architects, some CTOs, Technical Managers, and a few senior developers.&lt;/P&gt;
&lt;P&gt;The feedback we received was fantastic!&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;The Event:&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Based on the feedback from the last event we changed the format of the event to first have very short but structured presentations reviewing the Microsoft PDC announcements. The second part of the event (which was about 2/3&lt;SUP&gt;rd&lt;/SUP&gt; of the time) was very intense and interactive sessions specifically targeted to address problems and opportunities of our managed ISVs. We used the &lt;I&gt;OpenSpace&lt;/I&gt; format for that part (&lt;A href="http://martinfowler.com/bliki/OpenSpace.html" mce_href="http://martinfowler.com/bliki/OpenSpace.html"&gt;http://martinfowler.com/bliki/OpenSpace.html&lt;/A&gt; ), with 3 parallel tracks that allowed for discussion of a wide range of relevant topics to the attendees. The format was very well received and the discussions were mostly partner lead.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Session Highlights:&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Cloud Computing (3 Sessions moderated by Bill) conclusions:&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· Overview of Windows Azure&lt;/P&gt;
&lt;P&gt;· Windows Azure deep dive: SQL Azure, AppFabric, and Windows Azure Platform&lt;/P&gt;
&lt;P&gt;· Best practices and patterns for cloud computing&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Silverlight 4 (Ashish moderated):&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· What is new in Silverlight 4&lt;/P&gt;
&lt;P&gt;· Opportunities for ISVs and differentiation of WPF and SL&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Visual Studio 2010 and .NET 4.0 (Gunther and Ashish moderated)&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· New features in Visual Studio and .NET.&lt;/P&gt;
&lt;P&gt;· Extensibility of Visual Studio for ISVs&lt;/P&gt;
&lt;P&gt;· Modeling with Oslo and Visual Studio compared to DSL toolkit&lt;/P&gt;
&lt;P&gt;· Impact of MVC 2 and RIA Services&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;Summary:&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;We got outstanding feedback from the attendees such as:&lt;/P&gt;
&lt;P&gt;“Thank you for putting this together. I learned a great deal about the possibilities of MS Azure and look forward to the next workshop.”&lt;/P&gt;
&lt;P&gt;&lt;I&gt;“Awesome event, Gunther!&amp;nbsp; Thanks for inviting me!”&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;“I want to credit all of you for the valuable experience ... Let me know who to forward my appreciation to.”&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;“Thanks for reviewing the upcoming technologies with us at yesterday’s ISV Architecture session. &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;I think there’s some interesting things coming in 2010 and we’re looking forward to leveraging many of them.”&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;I believe this is a very impactful event and I am looking forward to organize the next ISV Software Architecture Workshop in 6 months to continue on the great feedback, the value that participants see, and the impact Microsoft can make with such events on technology adoption as well as NSAT.&lt;/P&gt;
&lt;P&gt;If you have any question about the event please let me know.&lt;/P&gt;
&lt;P&gt;Thanks to Bill and Ashish, without their help the event would not have been possible and certainly would not have been that successful.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image003_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image003_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image003 border=0 alt=clip_image003 src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image003_thumb.jpg" width=152 height=151 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image003_thumb.jpg"&gt;&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Gunther Lenz&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image005_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/SummaryISVSoftwareArchitectureWorkshopin_C00B/clip_image005_2.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937788" width="1" height="1"&gt;</content><author><name>glenz</name><uri>http://blogs.msdn.com/members/glenz.aspx</uri></author><category term="Events+Training" scheme="http://blogs.msdn.com/usisvde/archive/tags/Events_2B00_Training/default.aspx" /><category term="Architecture" scheme="http://blogs.msdn.com/usisvde/archive/tags/Architecture/default.aspx" /><category term="Azure Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Azure+Services+Platform/default.aspx" /></entry><entry><title>The Architecture Journal – Taking BI Beyond the Business Analyst</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/15/the-architecture-journal-taking-bi-beyond-the-business-analyst.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/15/the-architecture-journal-taking-bi-beyond-the-business-analyst.aspx</id><published>2009-12-15T23:00:27Z</published><updated>2009-12-15T23:00:27Z</updated><content type="html">&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="" alt="" src="http://i.msdn.microsoft.com/bb410935.JournalLogo(en-us,MSDN.10).jpg" width="601" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Architecture Journal is an independent platform for free thinkers and practitioners of IT architecture. New editions are issued quarterly with articles designed to offer perspective, share knowledge, and help you learn the discipline and pursue the art of IT architecture. The Architecture Journal reaches over 50,000 subscribers worldwide.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937359" width="1" height="1"&gt;</content><author><name>glenz</name><uri>http://blogs.msdn.com/members/glenz.aspx</uri></author></entry><entry><title>Software Escrow as a Service with EPS, Silverlight and Azure</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/15/software-escrow-as-a-service-with-eps-silverlight-and-azure.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/15/software-escrow-as-a-service-with-eps-silverlight-and-azure.aspx</id><published>2009-12-15T22:01:42Z</published><updated>2009-12-15T22:01:42Z</updated><content type="html">&lt;p&gt;I recently had a chance to sit down with Markus Egger of &lt;a href="http://www.eps-software.com"&gt;EPS Software&lt;/a&gt; and &lt;a href="http://www.code-magazine.com/"&gt;Code Magazine&lt;/a&gt;. We talked about how they created a unique software escrow service (&lt;a href="http://www.tower48.com/"&gt;Tower48.com&lt;/a&gt;) using Silverlight and how they architected their solution to run on Windows Azure. We recorded this interview and it’s available to view on Channel 9:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://channel9.msdn.com/posts/jbienz/Software-Escrow-as-a-Service/" href="http://channel9.msdn.com/posts/jbienz/Software-Escrow-as-a-Service/"&gt;http://channel9.msdn.com/posts/jbienz/Software-Escrow-as-a-Service/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937305" width="1" height="1"&gt;</content><author><name>jbienz</name><uri>http://blogs.msdn.com/members/jbienz.aspx</uri></author></entry><entry><title>12 Days of RIA – Day 6 – Pagination</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/14/12-days-of-ria-day-6-pagination.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/14/12-days-of-ria-day-6-pagination.aspx</id><published>2009-12-14T21:57:00Z</published><updated>2009-12-14T21:57:00Z</updated><content type="html">&lt;P&gt;Even though we parameterized the query for Artists in the last step, it could still return a large number of entities depending on the data in question. RIA provides a means to handle this via the DataPager control and what Brad Abrahms calls “connect-the-dots” data binding. I wanted to do the same for the artists query, but I wanted to also keep the view neat, so I began with a slight layout tweak to the layout. In the Grid that contains the artistDataGrid, I added an additional auto-sized row for a DataPager as shown:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb.png" width=393 height=753 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;When I looked, the DataPager wasn’t there in my toolbox, so I added it via right-clicking, selecting “Choose Items…” from the context menu, and then checking it in the list of Silverlight Components.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_1.png" width=620 height=456 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;With the DataPager now in the toolbox, I dropped it on the design surface in the neighborhood of where I wanted it to appear. This can get a little tricky with auto-sized rows, so I adjusted the XAML to get it in Grid.Row=”2” with nothing else set as shown:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_2.png" width=628 height=386 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The DataPager needs to know what size pages we’d like, so I set the PageSize property to something I thought was reasonable (i.e., 10.) Then, to “connect the dots”, I dragged the GetArtistsByName query on to the DataPager, which added the following binding to the DataPager’s XAML:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_3.png" width=628 height=349 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The artistDomainDataSource’s Data is the “dot” that needed to be “connected” in order to make the artistDataGrid work with dataPager1 as expected. I ran the app and got what I was hoping to see – a master-details-details UI with a place to input query parameters and with pagination at the master level.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_4.png" width=628 height=564 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The column sorting at the master level even worked as I think most people would expect. Sorting by name sorted the entire (3 page) set and not just the local batch of 10 in the current page.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_5.png" width=628 height=228 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay6Pagination_1349B/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Since I had a reasonably functional app running, I wanted to do some simple styling to improve its UX a bit. That will be the topic of the next post. In the meantime, code for post is &lt;A href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day06-Pagination.zip" mce_href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day06-Pagination.zip"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9936868" width="1" height="1"&gt;</content><author><name>jpelak</name><uri>http://blogs.msdn.com/members/jpelak.aspx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/usisvde/archive/tags/SQL+Server/default.aspx" /><category term="Architecture" scheme="http://blogs.msdn.com/usisvde/archive/tags/Architecture/default.aspx" /><category term="Source Code" scheme="http://blogs.msdn.com/usisvde/archive/tags/Source+Code/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/usisvde/archive/tags/Silverlight/default.aspx" /><category term="Data" scheme="http://blogs.msdn.com/usisvde/archive/tags/Data/default.aspx" /><category term="Expression Blend" scheme="http://blogs.msdn.com/usisvde/archive/tags/Expression+Blend/default.aspx" /><category term="Codeplex" scheme="http://blogs.msdn.com/usisvde/archive/tags/Codeplex/default.aspx" /><category term="Tutorial" scheme="http://blogs.msdn.com/usisvde/archive/tags/Tutorial/default.aspx" /><category term="RIA" scheme="http://blogs.msdn.com/usisvde/archive/tags/RIA/default.aspx" /></entry><entry><title>Microsoft buys Opalis to strengthen cloud management capabilities</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/14/microsoft-buys-opalis-to-strengthen-cloud-management-capabilities.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/14/microsoft-buys-opalis-to-strengthen-cloud-management-capabilities.aspx</id><published>2009-12-14T21:50:06Z</published><updated>2009-12-14T21:50:06Z</updated><content type="html">&lt;p&gt;Moving to strengthen its management tools related to virtual environments, Microsoft Friday said that it has purchased IT process automation vendor Opalis for an undisclosed sum. &lt;/p&gt;  &lt;p&gt;Microsoft said the acquisition, which had been rumored for nearly two months, adds to its System Center portfolio needed tools that can manage highly automated and scalable virtual environments. The tools complement Microsoft's strategy to stretch its management tools across on-premises environments and the cloud&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Read the article &lt;a href="http://www.networkworld.com/news/2009/121109-microsoft-buys-opalis.html?hpg1=bn"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9936771" width="1" height="1"&gt;</content><author><name>glenz</name><uri>http://blogs.msdn.com/members/glenz.aspx</uri></author></entry><entry><title>Windows Azure – Great Resources</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/14/windows-azure-great-resources.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/14/windows-azure-great-resources.aspx</id><published>2009-12-14T21:44:25Z</published><updated>2009-12-14T21:44:25Z</updated><content type="html">&lt;p&gt;PDC was a major milestone for the Windows Azure Platform, with Ray Ozzy announcing “production” and Bob painting a future vision in the keynote – there is a lot of new content, information and messaging to digest. New services were announced including “Dallas” as we as some old favorites being re-branded into the AppFabric.&lt;/p&gt;  &lt;p&gt;If you want to get started, or need some more information on any of the technologies, then the links below will provide3 you with a wealth of resources to jump start your development:&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;Getting Started&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/P09-03"&gt;Lap Around the Windows Azure Platform&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC13"&gt;Windows Azure Present and Future&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC37"&gt;Introduction to Building Applications with Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC54"&gt;The Business of Windows Azure: What you should know about Windows Azure Platform pricing and SLAs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC08"&gt;Patterns for Building Scalable and Reliable Applications with Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC16"&gt;Developing Advanced Applications with Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC15"&gt;Windows Azure Monitoring, Logging, and Management APIs&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC25"&gt;Automating the Application Lifecycle with Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC18"&gt;Building Hybrid Cloud Applications with Windows Azure and the Service Bus&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC17"&gt;Enabling Single Sign-On to Windows Azure Applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC20"&gt;Bridging the Gap from On-Premises to the Cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC53"&gt;Tips and Tricks for Using Visual Studio 2010 to Build Applications that Run on Windows Azure &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC14"&gt;Storing and Manipulating Blobs and Files with Windows Azure Storage&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC09"&gt;Windows Azure Tables and Queues Deep Dive&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC51"&gt;Developing PHP and MySQL Applications with Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC50"&gt;Building Java Applications with Windows Azure&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;strong&gt;Codename “Dallas”&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC29"&gt;Enrich your Applications with Data from Microsoft Project Code Name “Dallas”&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;SQL Azure&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC52"&gt;SQL Azure Database: Present and Future&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC23"&gt;Using the Microsoft Sync Framework to Connect Apps to the Cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC27"&gt;The Future of Database Development with SQL Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC12"&gt;Microsoft SQL Azure Database: Under the Hood&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC06"&gt;Scaling out Web Applications with Microsoft SQL Azure Databases&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/P09-14"&gt;Petabytes for Peanuts! Making Sense out of “Ambient” Data&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/P09-08"&gt;Development Best Practices and Patterns for Using Microsoft SQL Azure Databases&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;strong&gt;Identity&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/P09-21"&gt;Windows Identity Foundation Overview&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC10"&gt;Software + Services Identity Roadmap Update&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC17"&gt;Enabling Single Sign-On to Windows Azure Applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC19"&gt;REST Services Security Using the Access Control Service&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;strong&gt;Customer &amp;amp; Partner Showcases&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC32"&gt;Lessons Learned: Building Scalable Applications with the Windows Azure Platform&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC31"&gt;Lessons Learned: Building On-Premises and Cloud Applications with the Service Bus and Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC33"&gt;Lessons Learned: Building Multi-Tenant Applications with the Windows Azure Platform&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVC22"&gt;Lessons Learned: Migrating Applications to the Windows Azure Platform&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a name="_Channel_9_Learning"&gt;&lt;/a&gt;Channel 9 Learning Centers&lt;/h3&gt;  &lt;p&gt;To tie in with the launch, we have released the first wave of learning content on channel 9. The new channel 9 learning centers features content for both the &lt;a href="http://channel9.msdn.com/learn/courses/azure"&gt;Windows Azure Platform&lt;/a&gt;, as well as a course specifically designed for the &lt;a href="http://channel9.msdn.com/learn/courses/IdentityTrainingCourse/"&gt;Identity Developer&lt;/a&gt;. The content on both these sites will be continued to be developed by the team over the coming weeks and months. Watch out for updates and additions.&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Downloadable_Training_Kits"&gt;&lt;/a&gt;Downloadable Training Kits&lt;/h3&gt;  &lt;p&gt;To complement the learning centers on channel 9, we still continue to maintain the training kits on the Microsoft download center, which allows you to download and consume the content offline. You can download the Windows Azure Platform training kit &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78"&gt;here&lt;/a&gt;, and the Identity training kit &lt;a href="http://go.microsoft.com/fwlink/?LinkId=148795"&gt;here&lt;/a&gt;. The next update is planned for mid-deccember.&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Giving_Feedback"&gt;&amp;#160;&lt;/a&gt;&lt;/h3&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9936769" width="1" height="1"&gt;</content><author><name>glenz</name><uri>http://blogs.msdn.com/members/glenz.aspx</uri></author></entry><entry><title>12 Days of RIA – Day 5 – Read Only Data</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/11/12-days-of-ria-day-5-read-only-data.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/11/12-days-of-ria-day-5-read-only-data.aspx</id><published>2009-12-11T21:20:00Z</published><updated>2009-12-11T21:20:00Z</updated><content type="html">&lt;P&gt;Opening Artists.xaml, I’d like to make it so I can search for an artist, and then see all their associated albums and tracks. This is a simple 3-level hierarchy as evident in the data model and the object model created from it. Accordingly, I’d like to start with this by adding 3 data grids to view before doing any styling work. I first did a little refactoring of the layout on this page, wrapping the StackPanel that holds the 2 TextBlocks into a Grid. VS2010 now has a nice interface for editing the Grid’s RowDefinitions collection, so I used it to add 4 rows (one for the StackPanel, three for the data grids) as shown:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb.png" width=628 height=549 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Connecting it to the Artists was pretty easy. I just navigated to the Data Sources tab (choose Data | Show Data Sources from the menu if you don’t see it.) I simply dragged Artist from the TwelveDaysOfRiaContext and dropped it on the Grid, and then Reset Layout|All and set Grid.Row=1 and reset Grid.RowSpan until I had this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_1.png" width=628 height=454 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I ran the app and navigated to the Artists view, I got the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_2.png" width=628 height=310 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;which is the full list of Artists in Artist ID order and probably not the desired effect (remember the advice of the comment blocks above the GetXxx methods in the TwelveDaysOfRiaService class.) The designer in VS2010 is quite smart though, and it enables the addition of parameterized methods that return IQueryable&amp;lt;Xxx&amp;gt; which are discoverable by the client side. Even better, if the parameters are simple enough, the designer can generate the UI Elements to input them and invoke the method.&lt;/P&gt;
&lt;P&gt;To demonstrate, I started by adding a method to get Artists by name as shown:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_3.png" width=628 height=259 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I then connected the client to this query by first rebuilding (rebuilding between steps often is a good idea when developing an app on RIA Services.) I knew that the front end could see my query because it was now available from the Data Source tab under the Artist entity.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_4.png" width=220 height=276 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I removed the DataGrid and its associated DomainDataSource from the XAML (these were added when I dropped the Artist entity on the design surface previously.)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_5.png" width=628 height=286 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I then selected the GetArtistsByNameQuery and dropped Artist on the Grid again. I needed to do a little editing of the XAML to get the layout to look nice, but came up with this.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_14.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_6.png" width=628 height=401 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The XAML in this file warrants a closer look. The DomainDataSource is where the GetArtistsByNameQuery is bound to the view.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;riaControls:DomainDataSource&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AutoLoad="False"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height="0"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadedData="artistDomainDataSource_LoadedData_2"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="artistDomainDataSource"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueryName="GetArtistsByNameQuery" Width="0"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;riaControls:DomainDataSource.DomainContext&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;my:TwelveDaysOfRiaContext /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/riaControls:DomainDataSource.DomainContext&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;riaControls:DomainDataSource.QueryParameters&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;riaControls:ControlParameter&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ControlName="nameStartsWithTextBox"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ParameterName="nameStartsWith"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PropertyName="Text" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/riaControls:DomainDataSource.QueryParameters&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;/riaControls:DomainDataSource&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;It found the parameters for the query, and bound them to corresponding UIElements. Notice that its AutoLoad property is set to False – the prevents the query from executing when the frame navigates to Artists.xaml. The StackPanel contains the UIElements into which the query parameters are entered.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;StackPanel Orientation="Horizontal"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp; &amp;lt;dataInput:Label Content="Name Starts With:"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Margin="3" VerticalAlignment="Center" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBox Name="nameStartsWithTextBox" Width="60" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Click="artistDomainDataSourceLoadButton_Click"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Content="Load" Margin="3" Name="artistDomainDataSourceLoadButton" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;/StackPanel&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;And finally, the DataGrid is bound to the artistDomainDataSource as shown.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;data:DataGrid Grid.Row="1" AutoGenerateColumns="False"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&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; ItemsSource="{Binding ElementName=artistDomainDataSource,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&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; Path=Data}"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&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; Name="artistDataGrid"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&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; RowDetailsVisibilityMode="VisibleWhenSelected"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- etc. --&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;/data:DataGrid&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;All this yields an app which provides a lookup of artists by name:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_16.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_7.png" width=628 height=209 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_18.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_8.png" width=628 height=205 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This is great, but Artists also have Albums – it would be nice see those once an Artists has been selected. I dragged the Albums from under the Artist onto the design surface and reset the layout properties, which yielded the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_20.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_9.png" width=628 height=358 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The designer picked up that I wanted a DataGrid bound to Artist entities, but it didn’t make the expected connection at run time. To fix that, I bound the second DataGrid to the SelectedItem of the first via element binding.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_22.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_10.png" width=500 height=304 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_10.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I manually changed the path to SelectedItem.Albums, but the Albums didn’t show up as expected. The solution to this is to set the Include() attribute on the Albums property of the Artist entity on the server side as shown:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_26.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_26.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_12.png" width=604 height=568 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_12.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;and to add an Include to the LINQ query in the domain service&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_28.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_13.png" width=628 height=320 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_13.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This yielded the desired effect.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_30.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_14.png" width=628 height=311 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_14.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Repeating the process for Tracks with the tweak shown below to the Include in the LINQ query…&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_32.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_15.png" width=628 height=276 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;…got me to a full master-details-details view…&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_34.png" mce_href="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_34.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_16.png" width=628 height=432 mce_src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/12DaysofRIADay5ReadOnlyData_12BE7/image_thumb_16.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;…and there was much rejoicing!&amp;nbsp; Code for the 5th day is &lt;A href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day05-ReadOnlyData.zip" mce_href="http://cid-947ff3a82523ff74.skydrive.live.com/self.aspx/XamlFest%20Online/TwelveDaysOfRia/TwelveDaysOfRia-Day05-ReadOnlyData.zip"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935990" width="1" height="1"&gt;</content><author><name>jpelak</name><uri>http://blogs.msdn.com/members/jpelak.aspx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/usisvde/archive/tags/SQL+Server/default.aspx" /><category term="Architecture" scheme="http://blogs.msdn.com/usisvde/archive/tags/Architecture/default.aspx" /><category term="Source Code" scheme="http://blogs.msdn.com/usisvde/archive/tags/Source+Code/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/usisvde/archive/tags/Silverlight/default.aspx" /><category term="Data" scheme="http://blogs.msdn.com/usisvde/archive/tags/Data/default.aspx" /><category term="Expression Blend" scheme="http://blogs.msdn.com/usisvde/archive/tags/Expression+Blend/default.aspx" /><category term="Codeplex" scheme="http://blogs.msdn.com/usisvde/archive/tags/Codeplex/default.aspx" /><category term="Tutorial" scheme="http://blogs.msdn.com/usisvde/archive/tags/Tutorial/default.aspx" /><category term="RIA" scheme="http://blogs.msdn.com/usisvde/archive/tags/RIA/default.aspx" /></entry><entry><title>Code Project Offers Free Windows Azure Tokens</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/usisvde/archive/2009/12/11/code-project-offers-free-windows-azure-tokens.aspx" /><id>http://blogs.msdn.com/usisvde/archive/2009/12/11/code-project-offers-free-windows-azure-tokens.aspx</id><published>2009-12-11T20:20:15Z</published><updated>2009-12-11T20:20:15Z</updated><content type="html">&lt;p&gt;&lt;a href="http://codeproject.com"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="codeprojectlogo225x90" border="0" alt="codeprojectlogo225x90" align="right" src="http://blogs.msdn.com/blogfiles/usisvde/WindowsLiveWriter/CodeProjectOffersFreeWindowsAzureTokens_AD7B/codeprojectlogo225x90_3.gif" width="229" height="94" /&gt;&lt;/a&gt; &lt;a href="http://codeproject.com/"&gt;Code Project&lt;/a&gt; is offering a limited number of free &lt;a href="http://www.microsoft.com/azure"&gt;Windows Azure&lt;/a&gt; tokens. &lt;/p&gt;  &lt;p&gt;The Code Project has &lt;b&gt;exclusive&lt;/b&gt; access to a limited supply of Azure Services Platform Tokens. Best of all, they are &lt;b&gt;free&lt;/b&gt;! Grab your token before they run out, then enter our competition for your chance to win an Amazon Kindle.&lt;/p&gt;  &lt;p&gt;There are two ways to enter:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Follow the simple directions on the site to create a trial Windows Azure account, then &lt;b&gt;upload the CodeProject Sample App&lt;/b&gt;. Every day your app runs in December you'll get an entry in the contest. Or,&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Upload your own app&lt;/b&gt; and/or web pages to your new Azure account and email the URL to &lt;a href="mailto:azure09@codeproject.com"&gt;azure09@codeproject.com&lt;/a&gt;. We'll choose our favorite on January 1, 2010.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;For more information, see &lt;a href="http://www.codeproject.com/Feature/Azure/"&gt;Try Windows® Azure in December and Win!&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #548dd4; font-size: 14pt" lang="EN-GB"&gt;Bruce D. Kyle&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: black; font-size: 14pt" lang="EN-GB"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: gray; font-size: 10pt"&gt;ISV Architect Evangelist&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt"&gt; | &lt;span style="color: gray"&gt;Microsoft Corporation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.facebook.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 7" border="0" alt="cid:image010.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1phiYtqdt01WbX-WEkFeHdgc-vGh3uFaTXPkWWsSxBgSwGmjVFtf3ng7PyxsJc3-Yqi2QynvaL6yg/Facebook.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;a href="http://www.linkedin.com/in/bdkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="cid:image011.png@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pR3zivTY9cjlrke7b1fEP372RxZzpJ97ZTTpGTudkvE0tRfmeEg40fNMS0rYICJm5cdx_5r9hgZY/linkedin.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt"&gt;&amp;#160;&lt;/span&gt;&lt;a href="http://twitter.com/brucedkyle"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 9" border="0" alt="cid:image012.gif@01C9DEED.1FDB2200" src="http://wqblcw.bay.livefilestore.com/y1pFQPRF30RihrH1twKjGCuXhhRR0tWxZDxgoEr_pwDvZJ3mD5Mgm7JM0szdleOWYSOIAXrYJeaHqo/Twitter.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;a href="http://channel9.msdn.com/Niners/bruceky/"&gt;&lt;span style="color: windowtext; font-size: 10pt; text-decoration: none"&gt;&lt;img id="Picture 8" border="0" alt="channel9" src="http://mscommunities.com/images/sites/ch9.gif" width="16" height="16" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://blogs.msdn.com/usisvde"&gt;&lt;img alt="Add to Technorati Favorites" src="http://static.technorati.com/pix/fave/tech-fav-1.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;amp;pub=xa-4abda27358d5f9db"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" alt="Bookmark and Share" src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
tweetmeme_url = 'http://blogs.msdn.com/usisvde/archive/2009/12/11/code-project-offers-free-windows-azure-tokens.aspx';
tweetmeme_source = 'brucedkyle';
tweetmeme_service = 'bit.ly';
&lt;/script&gt;
&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935880" width="1" height="1"&gt;</content><author><name>Bruce Kyle</name><uri>http://blogs.msdn.com/members/Bruce+Kyle.aspx</uri></author><category term="Partnering" scheme="http://blogs.msdn.com/usisvde/archive/tags/Partnering/default.aspx" /><category term="Cloud Services" scheme="http://blogs.msdn.com/usisvde/archive/tags/Cloud+Services/default.aspx" /><category term="Windows Azure" scheme="http://blogs.msdn.com/usisvde/archive/tags/Windows+Azure/default.aspx" /><category term="Azure Services Platform" scheme="http://blogs.msdn.com/usisvde/archive/tags/Azure+Services+Platform/default.aspx" /><category term="SQL Azure" scheme="http://blogs.msdn.com/usisvde/archive/tags/SQL+Azure/default.aspx" /><category term="Azure" scheme="http://blogs.msdn.com/usisvde/archive/tags/Azure/default.aspx" /><category term="Cloud" scheme="http://blogs.msdn.com/usisvde/archive/tags/Cloud/default.aspx" /></entry></feed>