<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Visual Basic Team : Web</title><link>http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx</link><description>Tags: Web</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Using LINQ to Dataset in an .aspx page (Jonathan Aneja)</title><link>http://blogs.msdn.com/vbteam/archive/2008/05/13/using-linq-to-dataset-in-an-aspx-page-jonathan-aneja.aspx</link><pubDate>Wed, 14 May 2008 04:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8502440</guid><dc:creator>VBTeam</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/8502440.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=8502440</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Recently I got a customer question about how to use &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb386977.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb386977.aspx"&gt;LINQ to Dataset&lt;/A&gt; in an .aspx file.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The compiler was complaining that it couldn't find the AsEnumerable method that allows LINQ to work over a DataTable ("AsEnumerable is not a member of 'DataTable'").&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The code he sent looks correct, so why is the compiler not picking up the extension method (defined in System.Data.DataSetExtensions.dll)?&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;@&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: #a31515"&gt;Page&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="vb"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;AutoEventWireup&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="false"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;CodeBehind&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Default.aspx.vb"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Inherits&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="WebApplication6._Default"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;@&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="System.Linq"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;@&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="System.Data.DataSetExtensions"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Sub&lt;/SPAN&gt; Page_Load(sender &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Object&lt;/SPAN&gt;,&amp;nbsp;e &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; EventArgs) &lt;SPAN style="COLOR: blue"&gt;Handles&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.Load&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; ds &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; System.Data.DataSet&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ds.ReadXml(Server.MapPath(&lt;SPAN style="COLOR: #a31515"&gt;"./downloads/somedatafile.xml"&lt;/SPAN&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;SPAN style="COLOR: green"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;'error here&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; query = &lt;SPAN style="COLOR: blue"&gt;From&lt;/SPAN&gt; row &lt;SPAN style="COLOR: blue"&gt;In&lt;/SPAN&gt; ds.Tables(0).AsEnumerable() &lt;SPAN style="COLOR: blue"&gt;Select&lt;/SPAN&gt; row &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;After staring at that for a while and thinking it was a bug in the compiler, I forwarded it on to some of the ADO guys.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It turns out the fix is simple, change the import to say “System.Data” instead of “System.Data.DataSetExtensions”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you open up Reflector the reason’s obvious: the AsEnumerable extension method is defined in the System.Data &lt;I style="mso-bidi-font-style: normal"&gt;namespace&lt;/I&gt; of the System.Data.DatasetExtensions &lt;I style="mso-bidi-font-style: normal"&gt;assembly&lt;/I&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is a System.Data.DatasetExtensions namespace as well, but it’s not the one that contains the extension methods.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I can see why they&amp;nbsp;designed it this way,&amp;nbsp;by putting it in System.Data you can use&amp;nbsp;LINQ right out of the box on your existing Datasets, since typically System.Data is already imported.&amp;nbsp; Unfortunately that wasn't the case here.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Here’s the right line of code to use:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;@&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="System.Data"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;As an aside, you don’t actually have to insert the explicit call to AsEnumerable when working with LINQ to Dataset (in VB), I’ll explain why in a blog post tomorrow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Jonathan&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8502440" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/LINQ_2F00_VB9/default.aspx">LINQ/VB9</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Jonathan+Aneja/default.aspx">Jonathan Aneja</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB2008/default.aspx">VB2008</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>LINQ for the Web Using VB (By Paul Yuknewicz)</title><link>http://blogs.msdn.com/vbteam/archive/2007/12/27/linq-for-the-web-using-vb-by-paul-yuknewicz.aspx</link><pubDate>Fri, 28 Dec 2007 06:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6880595</guid><dc:creator>VBTeam</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/6880595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=6880595</wfw:commentRss><description>&lt;P&gt;Happy holidays!&amp;nbsp; It's been a long time since I've written a post, so I figure I can bring in the new year answering some great questions&amp;nbsp;submitted by&amp;nbsp;you.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Just this week someone gave me this feedback: &lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;"I am having a difficult time finding information to help me adapt to LINQ in my webforms. I am hoping that someone from the team can offer a direction. "&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;You bet!&amp;nbsp; We have a lot of attention to LINQ and Forms-over-data in VB in our &lt;A href="http://msdn2.microsoft.com/en-us/vbasic/ms789086.aspx" mce_href="http://msdn2.microsoft.com/en-us/vbasic/ms789086.aspx"&gt;learning content&lt;/A&gt;, but we're lacking content with attention to LINQ and Web-based Forms-over-data.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There are a number of great innovations in the Web space that make it easy to leverage LINQ's querying capabilities and mesh that with the richness and flexibility of Web-based UI.&amp;nbsp; &lt;EM&gt;It's easy.&lt;/EM&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There are a few concepts you should learn or know about to get started:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;LinqDataSource control&lt;/STRONG&gt; -- allows you to use a LINQ query as a data source in Web-based data binding &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;LinqDataSource.Selecting event &lt;/STRONG&gt;- allows you to set any LINQ custom query (including anonymous queries) as the data source.&amp;nbsp; Simply pick LinqDataSource and Selecting events from the VB editor dropdowns, and set e.Result = &amp;lt;your LINQ query&amp;gt; in the event handler code &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;OR Designer and Linq to SQL&lt;/STRONG&gt; - if you're connecting directly to a SQL database with your LINQ query (instead of objects, xml, etc), this is an easy way to create queries and what we call DataContext objects.&amp;nbsp; "OR" is short for Object-Relational mapping, i.e. mapping relational database data to .NET objects &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;ASP.NET data binding expressions&lt;/STRONG&gt; - allows you to evaluate&amp;nbsp;ASP-style &amp;lt;%# Eval("YOURFIELD") %&amp;gt; expressions from data source fields or properties in simple controls or lists of controls &lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;Creating a Simple Web Form with LINQ To SQL&lt;/H3&gt;
&lt;P&gt;The first post will cover the simplest Web form that will demonstrate this end to end span of concepts.&amp;nbsp; I'll then take input from you to add features and expand on this sample in future posts.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Here's a sample of the initial desired Web form output - a very simple Employee list report for an HR application - admittedly it's bare bones and in need of UI design love:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#8080c0&gt;&lt;IMG alt="Photo Number XXX" src="http://localhost:60052/PLACEHOLDER.jpg" mce_src="http://localhost:60052/PLACEHOLDER.jpg"&gt; &lt;BR&gt;EmployeeID: 2 &lt;BR&gt;Andrew Fuller &lt;BR&gt;Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the Sales Management Roundtable, the Seattle Chamber of Commerce, and the Pacific Rim Importers Association.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#8080c0&gt;&lt;IMG alt="Photo Number XXX" src="http://localhost:60052/PLACEHOLDER.jpg" mce_src="http://localhost:60052/PLACEHOLDER.jpg"&gt; &lt;BR&gt;EmployeeID: 1 &lt;BR&gt;Nancy Davolio &lt;BR&gt;Education includes a BA in psychology from Colorado State University in 1970. She also completed "The Art of the Cold Call." Nancy is a member of Toastmasters International.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you are pretty familiar with Visual Studio I expect this will take about 10-15 minutes to walk through on your own machine.&amp;nbsp; &lt;/P&gt;
&lt;H5&gt;Preparation&lt;/H5&gt;
&lt;P&gt;- make sure you have Visual Studio&amp;nbsp;2008 or Visual Web Developer 2008&amp;nbsp;Express installed.&amp;nbsp; Express Editions are &lt;A href="http://www.microsoft.com/express/download/default.aspx" mce_href="http://www.microsoft.com/express/download/default.aspx"&gt;available for download here&lt;/A&gt;. &lt;BR&gt;- make sure you have SQL Server 2005 Express installed and running.&amp;nbsp; It typically gets installed by default with VS or VS Express, however, you can also &lt;A href="http://www.microsoft.com/express/download/default.aspx" mce_href="http://www.microsoft.com/express/download/default.aspx"&gt;install it from here&lt;/A&gt;.&amp;nbsp; &lt;BR&gt;-if you don't have Northwind.mdf on your machine, download it from the attached files on this post.&amp;nbsp; &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;Adding Data to the Web Site&lt;/H5&gt;
&lt;P&gt;First we're going to add the database to our project and create necessary classes to use the database in LINQ (using Linq to SQL).&amp;nbsp; &lt;EM&gt;Note, you could choose to skip this step and create your own custom LINQ query to any other data source.&lt;/EM&gt;&amp;nbsp; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;create a new Web site on the local file system via File -&amp;gt; New Web Site ... -&amp;gt; ASP.NET Web Site &lt;/LI&gt;
&lt;LI&gt;add the Northwind database to your web site's App_Data folder 
&lt;OL&gt;
&lt;LI&gt;download Northwind.mdf file from this blog entry and save it to disk &lt;/LI&gt;
&lt;LI&gt;drag and drop this file into the App_Data folder in Solution Explorer &lt;BR&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/1AddLocalDatabase_4.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/1AddLocalDatabase_4.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=1AddLocalDatabase src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/1AddLocalDatabase_thumb_1.jpg" width=150 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/1AddLocalDatabase_thumb_1.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Create LINQ to SQL classes for Northwind using the OR Designer.&amp;nbsp; Linq to SQL classes will be stored in a .dbml file and can be opened in the visual OR Designer.&amp;nbsp; 
&lt;OL&gt;
&lt;LI&gt;Right-click on the WebSite node in Solution Explorer, &lt;STRONG&gt;Add New Item -&amp;gt; Linq To SQL Classes&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Rename&lt;/STRONG&gt; the file from "DataClasses.dbml" to "&lt;STRONG&gt;Northwind&lt;/STRONG&gt;DataClasses.dbml".&amp;nbsp; (This is important so classes can be found in code and in VS wizards). &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2AddLinqToSqlClasses_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2AddLinqToSqlClasses_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=315 alt=2AddLinqToSqlClasses src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2AddLinqToSqlClasses_thumb.jpg" width=479 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2AddLinqToSqlClasses_thumb.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;When prompted, click &lt;STRONG&gt;Yes&lt;/STRONG&gt; to add this file to the App_Code folder.&amp;nbsp; This is important b/c the Web sitfe needs to dynamically compile generated code created by the designer.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2B-AddLinqToSqlClasses_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2B-AddLinqToSqlClasses_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=172 alt=2B-AddLinqToSqlClasses src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2B-AddLinqToSqlClasses_thumb.jpg" width=423 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/2B-AddLinqToSqlClasses_thumb.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Double click NorthwindDataClasses.dbml to open it in the OR Designer. &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Add Employee table objects to your Linq to SQL classes 
&lt;OL&gt;
&lt;LI&gt;Open Server Explorer (or Database Explorer in Express) &lt;/LI&gt;
&lt;LI&gt;Expand Northwnd.MDF -&amp;gt; Tables -&amp;gt; Employees &lt;/LI&gt;
&lt;LI&gt;Drag and Drop the &lt;STRONG&gt;Employees&lt;/STRONG&gt; table node from Server Explorer to the NorthwindDataClasses.dbml design surface&amp;nbsp; (NOTE: you could continue to add more Tables, or Stored Procedures, or customize the names/properties in the designer). &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Save All&lt;/STRONG&gt; files &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/3AddingClassesToORDesigner_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/3AddingClassesToORDesigner_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=304 alt=3AddingClassesToORDesigner src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/3AddingClassesToORDesigner_thumb.jpg" width=430 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/3AddingClassesToORDesigner_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H5&gt;Laying Out Form UI &amp;amp; DataSource Controls&lt;/H5&gt;
&lt;P&gt;Now that we've added the database to the Web site and created necessary LINQ to SQL classes, it's time to create some UI and wire up the data to the UI.&amp;nbsp; I won't do anything too fancy - just repeat data bound labels in a DataList (you could replace this with GridView, FormView or choose your favorite control).&amp;nbsp; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Double-click Default.aspx to open the page in the designer &lt;/LI&gt;
&lt;LI&gt;Drag n drop a DataList from the data tab of Toolbox to the Default.aspx design surface (or to the correct DIV area in mark up "Source" view) &lt;/LI&gt;
&lt;LI&gt;Drop n drop a LinqDataSource control from the data tab of the Toolbox to the Default.aspx design surface (or just below the DataList in "Source" view) &lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H5&gt;Wiring up the LinqDataSource to Underlying Data (LINQ to SQL - DataContext)&lt;/H5&gt;
&lt;P&gt;The LinqDataSource needs to be wired up to the underlying LINQ data.&amp;nbsp; In this case data is provided by any DataContext object&amp;nbsp; or query over an object of the NorthwindDataClasses type (a LINQ to SQL file).&amp;nbsp; The DataList then simply needs to use the LinqDataSource as the data source, and display data from bound fields using traditional Eval("") statements.&amp;nbsp; The designer will generate a set of defaults for you if you use the Smart Tags.&amp;nbsp; Let's give it a shot with defaults, and then we can fine tune it from there.&amp;nbsp; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select the LinqDataSource control in the designer.&amp;nbsp; Expand the smart tag and click &lt;STRONG&gt;Configure Data Source...&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4LinqDataSource_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4LinqDataSource_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=227 alt=4LinqDataSource src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4LinqDataSource_thumb.jpg" width=429 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4LinqDataSource_thumb.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;A wizard pops up and should default to picking your &lt;STRONG&gt;NorthwindDataClasses&lt;/STRONG&gt; as the source.&amp;nbsp; (any other queryable sources you add will show up here).&amp;nbsp; Click Next.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4bLinqDataSourceWizardDataSource_4.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4bLinqDataSourceWizardDataSource_4.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=319 alt=4bLinqDataSourceWizardDataSource src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4bLinqDataSourceWizardDataSource_thumb_1.jpg" width=434 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4bLinqDataSourceWizardDataSource_thumb_1.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;You can optionally pick any specific subset of columns/fields.&amp;nbsp; I just chose * for this example.&amp;nbsp; You could even configure a Where clause -- however I honestly think it's easier to do parameterized queries and other query operations in code.&amp;nbsp; I'll show that later ...&amp;nbsp; Click &lt;STRONG&gt;Finish&lt;/STRONG&gt;.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4cLinqDataSourceWizardChooseFields_4.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4cLinqDataSourceWizardChooseFields_4.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=317 alt=4cLinqDataSourceWizardChooseFields src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4cLinqDataSourceWizardChooseFields_thumb_1.jpg" width=431 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4cLinqDataSourceWizardChooseFields_thumb_1.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Optionally you can Enable Delete, Insert, and Update for the LinqDataSource using the Smart Tag.&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;TIP&lt;/STRONG&gt;: This is handy if you're going to build a read/write web form.&amp;nbsp; &lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4dLinqDataSourceConfigureCRUD_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4dLinqDataSourceConfigureCRUD_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=220 alt=4dLinqDataSourceConfigureCRUD src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4dLinqDataSourceConfigureCRUD_thumb.jpg" width=369 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/4dLinqDataSourceConfigureCRUD_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Here is the resulting mark up for the LinqDataSource as seen in "Source" view.&amp;nbsp; Note how the ContextTypeName="NorthwindDataClassesDataContext" -- this matches the name of the type we created in the designer (the code gen appends "DataContext" to the end -- whew that's long!).&amp;nbsp; The TableName is set to the Table or Property we want to display -- Employees in this case.&amp;nbsp; You could use this pattern to bind to any DataContext type and class property within.&amp;nbsp; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;LinqDataSource &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LinqDataSource1" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ContextTypeName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&lt;STRONG&gt;NorthwindDataClassesDataContext&lt;/STRONG&gt;"
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;TableName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&lt;STRONG&gt;Employees&lt;/STRONG&gt;"&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;LinqDataSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;/BLOCKQUOTE&gt;
&lt;H5&gt;Binding UI Controls to LinqDataSource&lt;/H5&gt;
&lt;P&gt;Now let's wire up the DataList to the LinqDataSource.&amp;nbsp; The nice thing here is the DataList only cares about the field names returned from the LINQ query via the LinqDataSource -- this shields you as you continue to refine the fields and row results of your dynamic LINQ queries.&amp;nbsp; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select the DataList in the designer.&amp;nbsp; Expand the smart tag and Choose Data Source = LinqDataSource1 &lt;/LI&gt;
&lt;LI&gt;Customize the DataList's ItemTemplate &lt;/LI&gt;
&lt;LI&gt;Run it!&amp;nbsp; (F5 or View in Browser) &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The wizard will create a series of bound labels by default.&amp;nbsp; You can use the designer in edit mode to get the specific fields, look and feel you want.&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;TIP:&lt;/STRONG&gt; This is typically where I drop in the html mark up "Source" view&lt;/EM&gt;.&amp;nbsp; In my example, I'll simply show the full name, notes, and have a place holder to show an employee photo image.&amp;nbsp; I also format the data in a two column table.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;If you look at the DataList mark up, you see the ItemTemplate contains a number of bound labels.&amp;nbsp; Binding to data from the query is simply a matter of typing in &amp;lt;%# Eval("YOURFIELDNAME") %&amp;gt; in your server control fields using classic ASP-style &amp;amp; VB data binding eval statements.&amp;nbsp; This gives you a lot of flexibility to display just the data you want, formatted how you want.&amp;nbsp; Here's my customization:&amp;nbsp; &lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataList &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="DataList1" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DataKeyField&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="EmployeeID" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DataSourceID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LinqDataSource1"&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;HeaderTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;HeaderTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;img &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;src&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="PLACEHOLDER.jpg" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;border&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;4px solid white" &lt;BR&gt;                          &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;alt&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='Photo Number XXX' /&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
                &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                    &lt;/SPAN&gt;EmployeeID:
                    &lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="EmployeeIDLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("EmployeeID") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LastNameLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;BR&gt;                          &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("FirstName") &amp;amp; " " &amp;amp; Eval("LastName") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="NotesLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("Notes") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
                &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataList&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;BLOCKQUOTE&gt;&amp;nbsp;&lt;/BLOCKQUOTE&gt;
&lt;H5&gt;Using Custom LINQ Queries&lt;/H5&gt;
&lt;P&gt;The technique above provides a zero-code method for binding Web forms to LINQ data.&amp;nbsp; However, you might be asking yourself, where is the LINQ and VB here?&amp;nbsp; It's true the LinqDataSource hides all the querying code and constrains what you can do via the designer.&amp;nbsp; This is fine for some simple cases, but the real power of LINQ is being able to use your own free form queries and VB logic.&amp;nbsp; The good news is LinqDataSource supports using your own LINQ queries using the LinqDataSource.Selecting event.&amp;nbsp; This is your hook to tell the control exactly what query should be used.&amp;nbsp; It's easy.&amp;nbsp; Here's how:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Right-click on Default.aspx and select View Code ... to see the VB code behind file (Default.aspx.vb).&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;In the left-hand-side dropdown above the code editor, select the LinqDataSource1 object. &lt;/LI&gt;
&lt;LI&gt;In the right-hand-side dropdown above the code editor, select the Selecting event.&amp;nbsp; The event handler is stubbed out.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/5VBDropdownsSelectingEvent_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/5VBDropdownsSelectingEvent_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=114 alt=5VBDropdownsSelectingEvent src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/5VBDropdownsSelectingEvent_thumb.jpg" width=646 border=0 mce_src="http://blogs.msdn.com/blogfiles/vbteam/WindowsLiveWriter/LINQforWebDevelopersByPaulYuk_B656/5VBDropdownsSelectingEvent_thumb.jpg"&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Write your custom LINQ query in the event handler.&amp;nbsp; Make sure you set &lt;STRONG&gt;e.Result = &amp;lt;your LINQ query variable&amp;gt;&lt;/STRONG&gt; before the event handler routine is finished running.&amp;nbsp; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;In my example I will query over Northwind employees, define a custom expression column called FullName (=First + Last), filter by full name starting with A or N, and sort by last name.&amp;nbsp; Note I'm creating aliases for each property and hence the query is now an anonymous type -- and the schema is now custom&amp;nbsp;vs. my default NorthwindDataContext with all (*) columns.&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;TIP:&lt;/STRONG&gt; if you're getting runtime errors when you try this make sure all the fields expected by your Web form are there -- e.g. if the form is expecting "EmployeeID" make sure your query Selects it.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;Protected Sub &lt;/SPAN&gt;LinqDataSource1_Selecting(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;sender &lt;SPAN style="COLOR: blue"&gt;As Object&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;e _
                                        &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) _
                                        &lt;STRONG&gt;&lt;SPAN style="COLOR: blue"&gt;Handles &lt;/SPAN&gt;LinqDataSource1.Selecting&lt;/STRONG&gt;

    &lt;SPAN style="COLOR: blue"&gt;Dim &lt;/SPAN&gt;northwind &lt;SPAN style="COLOR: blue"&gt;As New &lt;/SPAN&gt;NorthwindDataClassesDataContext

    &lt;SPAN style="COLOR: green"&gt;'custom anonymous LINQ query
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim &lt;/SPAN&gt;query = &lt;SPAN style="COLOR: blue"&gt;From &lt;/SPAN&gt;emp &lt;SPAN style="COLOR: blue"&gt;In &lt;/SPAN&gt;northwind.Employees _
                &lt;SPAN style="COLOR: blue"&gt;Select &lt;/SPAN&gt;emp.EmployeeID, emp.FirstName, emp.LastName, emp.Notes, _
                    &lt;STRONG&gt;FullName = emp.FirstName &amp;amp; &lt;SPAN style="COLOR: #a31515"&gt;" " &lt;/SPAN&gt;&amp;amp; emp.LastName&lt;/STRONG&gt; _
                &lt;SPAN style="COLOR: blue"&gt;Where &lt;/SPAN&gt;FirstName.ToUpper.StartsWith(&lt;SPAN style="COLOR: #a31515"&gt;"A"&lt;/SPAN&gt;) &lt;SPAN style="COLOR: blue"&gt;Or &lt;/SPAN&gt;FirstName.ToUpper.StartsWith(&lt;SPAN style="COLOR: #a31515"&gt;"N"&lt;/SPAN&gt;) _
                &lt;SPAN style="COLOR: blue"&gt;Order By &lt;/SPAN&gt;FullName

    &lt;SPAN style="COLOR: green"&gt;'sets LinqDataSource query equal to custom query.  
    'use data binding expressions to look up aliased fields above. 
    &lt;/SPAN&gt;&lt;STRONG&gt;e.Result = query&lt;/STRONG&gt;
&lt;SPAN style="COLOR: blue"&gt;End Sub&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;You can run the app again and see the custom query is working -- only two rows are returned -- Andrew Fuller and Nancy Davolio.&amp;nbsp; We could also tweak the markup to make use of our new aliased expression column -- "FullName".&amp;nbsp; Here's how that would look in the DataList:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataList &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="DataList1" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DataKeyField&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="EmployeeID" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DataSourceID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LinqDataSource1"&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;HeaderTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;HeaderTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;img &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;src&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="PLACEHOLDER.jpg" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;border&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;4px solid white" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;alt&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='Photo Number XXX' /&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
                &lt;/SPAN&gt;EmployeeID:
                &lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="EmployeeIDLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("EmployeeID") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LastNameLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;STRONG&gt;&lt;FONT size=4&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("FullName") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;br &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Label &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="NotesLabel" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffee62"&gt;&amp;lt;%&lt;/SPAN&gt;# Eval("Notes") &lt;SPAN style="BACKGROUND: #ffee62"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;' /&amp;gt;
            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataList&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;H5&gt;Summary &amp;amp; More Info&lt;/H5&gt;
&lt;P&gt;To wrap things up, it's easy to map what you know about Web Forms to what you're learning about Linq in VB.&amp;nbsp; The LinqDataSource connects your underlying Linq to SQL DataContext, or any generalized Linq query, to the rest of your Web Form.&amp;nbsp; You can create totally custom queries in the LinqDataSource.Selecting event and pass that to the control via e.Result.&amp;nbsp; And then you can get at any field or property in your Linq query using classic Eval("MYFIELD") data binding expressions.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;What do you think?&amp;nbsp; What additions would you like to see?&lt;/P&gt;
&lt;P&gt;If you want more info now, ScottGu put together an &lt;A class="" href="http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx"&gt;awesome series of Linq to SQL posts&lt;/A&gt; for the Web, and he included VB sample code.&amp;nbsp; Another great portal for learning and How To content is &lt;A href="http://www.asp.net/"&gt;www.asp.net&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Best, &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Papyrus size=5&gt;&lt;EM&gt;Paul&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;----------------------------------&lt;/P&gt;
&lt;P&gt;Paul Yuknewicz &lt;BR&gt;Lead Program Manager &lt;BR&gt;Microsoft Visual Studio &lt;BR&gt;&lt;A href="http://msdn.com/vbasic/" mce_href="http://msdn.com/vbasic/"&gt;http://msdn.com/vbasic/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6880595" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/vbteam/attachment/6880595.ashx" length="968481" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/vbteam/archive/tags/Paul+Yuknewicz/default.aspx">Paul Yuknewicz</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/LINQ_2F00_VB9/default.aspx">LINQ/VB9</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB_5F00_Express/default.aspx">VB_Express</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB2008/default.aspx">VB2008</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>Channel 9 Interview - LINQ to SQL and the O/R Designer in VS 2008 (Beth Massi)</title><link>http://blogs.msdn.com/vbteam/archive/2007/08/27/channel-9-interview-linq-to-sql-and-the-o-r-designer-in-vs-2008-beth-massi.aspx</link><pubDate>Tue, 28 Aug 2007 01:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4598786</guid><dc:creator>VBTeam</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/4598786.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=4598786</wfw:commentRss><description>&lt;P&gt;I just posted &lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=337692" target=_blank mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=337692"&gt;another great interview on Channel 9&amp;nbsp;with&amp;nbsp;Young Joo&lt;/A&gt; talking about LINQ to SQL and the new O/R Designer in Visual Studio 2008. He demos a typical business client-server scenario and shows how LINQ to SQL classes make it much easier to work with relational data in SQL Server 2005. Young also talks about architectures where he sees using LINQ to SQL having the most benefits.&lt;/P&gt;
&lt;P&gt;Learn more about the O\R Designer and LINQ to SQL by viewing our &lt;A class="" href="http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx"&gt;"How Do I" video LINQ series&lt;/A&gt; on the &lt;A class="" href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/vbasic/default.aspx"&gt;Visual Basic Developer Center&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;BR&gt;-&lt;A class="" href="http://blogs.msdn.com/bethmassi/" target=_blank mce_href="http://blogs.msdn.com/bethmassi/"&gt;Beth Massi&lt;/A&gt;, VS Community&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4598786" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/LINQ_2F00_VB9/default.aspx">LINQ/VB9</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Young+Joo/default.aspx">Young Joo</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Beth+Massi/default.aspx">Beth Massi</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>What is the difference between VB 9, VBx and Silverlight? (Scott Wisniewski)</title><link>http://blogs.msdn.com/vbteam/archive/2007/06/07/what-is-the-difference-between-vb-9-vbx-and-silverlight.aspx</link><pubDate>Fri, 08 Jun 2007 04:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3152912</guid><dc:creator>VBTeam</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/3152912.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=3152912</wfw:commentRss><description>&lt;P&gt;I recently received an email from a customer asking for clarification as to what the difference was between &lt;A href="http://msdn2.microsoft.com/en-us/library/ms364068(VS.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms364068(VS.80).aspx"&gt;VB 9&lt;/A&gt;, &lt;A href="http://www.panopticoncentral.net/archive/2007/05/01/20383.aspx" mce_href="http://www.panopticoncentral.net/archive/2007/05/01/20383.aspx"&gt;VBx&lt;/A&gt; and &lt;A href="http://silverlight.net/" mce_href="http://silverlight.net/"&gt;Sliverlight&lt;/A&gt;. In particular, it seems as if we have been releasing so much information about cool new stuff that at least a few people have become confused, making them a bit nervous about the future of VB. &lt;/P&gt;
&lt;P&gt;The customer had also expressed some concerns about upgrading from VS 2005 to Orcas (VS 2008), particularly because he was considering making an upgrade from VB 6 to VS 2005 and wanted to make sure he would be able to take advantage of &lt;A href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx" mce_href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx"&gt;Orcas&lt;/A&gt; when it was released. &lt;/P&gt;
&lt;P&gt;I figured there may be other customers that have similar concerns, and so thought this would make a good blog post, particularly because it's been a while since I've posted anything (&lt;SPAN style="FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt;). &lt;/P&gt;
&lt;P&gt;As a result I've included a few of the questions he asked (paraphrased) below, along with my answers. &lt;/P&gt;
&lt;P&gt;I hope this helps.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is the difference between VB 9 and VBx? Which one is the next version of Visual Studio?&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;Visual Basic 9 is the next version of Visual Basic. Visual Basic 10, or VBx as it's sometimes called, is the version of Visual Basic that will follow VB 9. Currently VBx is in very early stages, and is a long way off from production. In fact, most of our development team is actively working on VB 9. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why on earth would you start talking about VB 10 before you've even released VB 9? This is confusing. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The product cycle for VB 9 is starting to wind down. We recently released Beta 1 of Visual Studio Code Name "Orcas", and are currently working on releasing Beta 2. As the product cycle starts to wind down, our language design team is starting to think about what the "next next" version of the product will look like. They do this mainly as a way to "keep the pipeline moving". If they had to wait until VB 9 was 100% complete before they started thinking about VB 10, then there would end up being a significant delay from when we finished VB 9 until we could start working on VB 10. This is because designing a product, and coming up with a plan to develop it can be extremely time consuming. It requires us to come up with a design, create a schedule, make any necessary organizational changes, and ensure we have the right staffing levels, all before we start coding. By "overlapping" the early design work for VB 10 with the "end game" work for VB 9 we are able to better "bootstrap" the whole process, thus making the transition from one project to the next as smooth as possible. &lt;/P&gt;
&lt;P&gt;As our design team comes up with designs they like to release information about them as early as possible. The earlier we can get information out to our customers, the earlier we can get feedback about the things we are doing. This helps us to build the products that actually meet our customers' needs. One thing we've managed to learn over the years is that the best possible way we can learn what it is that our customers want is to engage with them early and often. &lt;/P&gt;
&lt;P&gt;As a result, near the end of a product cycle we will release information about our plans for the version of the product to follow the one we are currently working on. This gives our customers the chance to comment on it and let us know what they think. We then take that feedback and use it to develop a more complete plan for what we want to do. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is VB 10 going to be like? What is this Silverlight Thing I keep hearing about? Is Silverlight a replacement for Visual Studio? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Our plans for VBx and Silverlight are still very rough and are nowhere near complete. As our customers start to use VB 9 and provide us with feedback that data will drive exactly what we end up doing in VB 10. That being said, however, we do have some rough ideas of the things we would like to do. &lt;/P&gt;
&lt;P&gt;Silverlight 1.1 is a new light weight version of the .NET Framework that will allow you to develop rich applications that run in a web browser using .NET languages. The basic idea is to allow you to replace client side java script with .NET enabled languages, allowing you to write both the client side and sever side portions of your web applications in the same language. It also allows you to use WPF (windows presentation foundation) and WCF (windows communication foundation) to create extremely rich and interactive web applications in a way that is much easier than what is possible using HTML, Ajax, Java Script, or Flash. &lt;/P&gt;
&lt;P&gt;VB 10 is going to be the version of Visual Basic that will follow VB 9 (the "next next version"). It will include new features designed to make VB a really great language for developing SilverLight apps, as well as enhancements to many of the new feature we are delivering in VB 9, such as Linq. You should still be able to do all the things with VB 10 that you could do with both VB 9 and VB 8. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The migration from VB 6 to VS 2005 is non-trivial. If I upgrade to VS 2005 will I able to use VB 9 when it comes out, or will I have to scrap all my work? What about VB 10? Should I be worried about the future of VB?&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;The transition from VB 8.0 to VB 9.0 should be smooth and relatively painless. We have gone to great lengths to ensure this. &lt;/P&gt;
&lt;P&gt;Our plan is to also make the migration from VB 9 to VB 10 equally painless. &lt;/P&gt;
&lt;P&gt;Although the migration from VB 6 to VB.NET is a bit tough, we are actively working on making that easier as well. We have been releasing a "VB Interoperability Toolkit" that allows an application to be gradually migrated from VB 6 to VS 2005, rather than requiring the whole thing to be migrated at once. &lt;/P&gt;
&lt;P&gt;You can get more information about it here: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/vbasic/aa701257.aspx" mce_href="http://msdn2.microsoft.com/en-us/vbasic/aa701257.aspx"&gt;http://msdn2.microsoft.com/en-us/vbasic/aa701257.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;As far as the future of VB, you should definitely not be worried. &lt;/P&gt;
&lt;P&gt;Microsoft is committed to VB, and making it a great language for developing applications for our various platforms. The future of VB should be a bright one!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3152912" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/LINQ_2F00_VB9/default.aspx">LINQ/VB9</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Scott+Wisniewski/default.aspx">Scott Wisniewski</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB2005/default.aspx">VB2005</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/DLR/default.aspx">DLR</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>Visual Studio 2005 SP1 and Visual Basic 2005 Command-line Compiler (VBC.exe) Hotfix Released!</title><link>http://blogs.msdn.com/vbteam/archive/2007/01/03/visual-studio-2005-sp1-and-visual-basic-2005-command-line-compiler-vbc-exe-hotfix-released.aspx</link><pubDate>Wed, 03 Jan 2007 21:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1406385</guid><dc:creator>VBTeam</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/1406385.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=1406385</wfw:commentRss><description>&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Verdana&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;Visual Studio 2005 SP1 is now available for download.&amp;nbsp; We’d like to thank everyone in the Visual Basic community for providing feedback on SP1 and helping us identify and address issues for this service pack.&amp;nbsp; In some areas, more than 50% of the bugs addressed were reported by customers through the MSDN Product Feedback Center.&amp;nbsp; Overall, SP1 offers customers improvements in responsiveness, stability and performance for Visual Basic 2005.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;This service pack rolls up all of the Visual Basic 2005 hotfixes we’ve made to date and provides you the best overall performance and stability when developing in Visual Basic 2005.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;We recommend VB developers install SP1.&amp;nbsp; You can get SP1 at:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://msdn.microsoft.com/vstudio/VS2005SP1" mce_href="http://msdn.microsoft.com/vstudio/VS2005SP1"&gt;http://msdn.microsoft.com/vstudio/VS2005SP1&lt;/A&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;FONT color=#000000&gt;Service Pack 1 Update to Visual Basic 2005 Command-line Compiler (Vbc.exe)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;This hotfix provides the SP1 improvements for the Visual Basic 2005 command line compiler, (vbc.exe).&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;After installing SP1, install this hotfix to development and deployed machines to get the SP1 fixes for vbc.exe if any of the following apply: &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT color=#000000&gt;You are developing web sites with ASP.NET 2.0 in Visual Basic 2005 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'"&gt;&lt;FONT color=#000000&gt;You are deploying ASP.NET 2.0 web sites written in Visual Basic 2005&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;You are building Visual Basic 2005 projects outside the IDE using VBC.exe&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkID=78807" mce_href="http://go.microsoft.com/fwlink/?LinkID=78807"&gt;http://go.microsoft.com/fwlink/?LinkID=78807&lt;/A&gt;&lt;SPAN style="COLOR: #1f497d"&gt; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;Thanks for your contribution to Visual Studio 2005 SP1.&amp;nbsp; We welcome your feedback on this release.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;Chris Mayo&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;Visual Basic Program Manager&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1406385" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/IDE/default.aspx">IDE</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Data_5F00_Design/default.aspx">Data_Design</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB_5F00_Express/default.aspx">VB_Express</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB2005/default.aspx">VB2005</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>Check out &amp;quot;Live from Redmond series #3&amp;quot; from the .NET FX product teams</title><link>http://blogs.msdn.com/vbteam/archive/2006/10/10/Check-out-_2200_Live-from-Redmond-series-_2300_3_2200_-from-the-.NET-FX-product-teams.aspx</link><pubDate>Wed, 11 Oct 2006 02:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:815454</guid><dc:creator>VBTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/815454.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=815454</wfw:commentRss><description>&lt;P&gt;The .NET Framework teams are providing several Live Meeting presentations spanning application technologies like Smart Clients, Web 2.0 (AJAX) and Mobile.&amp;nbsp; Check out &lt;A class="" href="http://blogs.msdn.com/simonmu/" target=_blank mce_href="http://blogs.msdn.com/simonmu/"&gt;SimonMu&lt;/A&gt;'s blog for more information:&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: navy; FONT-FAMILY: Calibri"&gt;&lt;A title=http://blogs.msdn.com/simonmu/archive/2006/10/09/The-next-series-of-team-member-Live-From-Redmond-webcasts.aspx href="http://blogs.msdn.com/simonmu/archive/2006/10/09/The-next-series-of-team-member-Live-From-Redmond-webcasts.aspx"&gt;http://blogs.msdn.com/simonmu/archive/2006/10/09/The-next-series-of-team-member-Live-From-Redmond-webcasts.aspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Simon also pointed me to a great video archive:&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"&gt;&lt;A title=http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax href="http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax"&gt;http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax&lt;/A&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri color=navy size=2&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: navy; FONT-FAMILY: Calibri"&gt;&amp;nbsp; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;If you're a VB developer and you're interested in these modern .NET app types, I think you'll want to check this out.&amp;nbsp;&amp;nbsp;Enjoy!&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;Paul Yuknewicz&lt;BR&gt;Visual Basic Team&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=815454" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/Paul+Yuknewicz/default.aspx">Paul Yuknewicz</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Data_5F00_Design/default.aspx">Data_Design</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB2005/default.aspx">VB2005</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item><item><title>Beginners coding in ASP.NET</title><link>http://blogs.msdn.com/vbteam/archive/2005/07/11/beginners-coding-in-asp-net.aspx</link><pubDate>Mon, 11 Jul 2005 23:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:437635</guid><dc:creator>VBTeam</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/vbteam/comments/437635.aspx</comments><wfw:commentRss>http://blogs.msdn.com/vbteam/commentrss.aspx?PostID=437635</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;EM&gt;posted by Emily Yaich&lt;/EM&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Hello everyone!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I am Emily Yaich and I am another one of the Microsoft Explorers working on the visual basic team.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I have been here since the second week in June, and I am loving every minute of it!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; We haven't gotten into the heavy coding and testing of our app yet, which will be a challenge, but I am sure that it will be just as much fun. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;For those of you that are not familiar with the explorers program, it is an internship opportunity that allows first and second year students to come to Microsoft and gain valuable industry experience.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We spent the first couple of weeks in class in the mornings and shadowing the various roles on the visual basic team in the afternoons.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We got to see first hand what goes on behind the scenes to develop Whidbey.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Also, we were each assigned a starter kit to evaluate and extend.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I was assigned the personal website starter kit.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Being only a sophomore next term, the only coding I have done is in C++, so this is the first experience that I have had coding in visual basic.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If anyone else is brand new, here are some great &lt;A href="http://lab.msdn.microsoft.com/express/beginner/"&gt;starter videos &lt;/A&gt;that start from the very beginning.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;They were very helpful to me.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So in working with this website I also got my first experience with ASP.NET.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I decided to create an address book application so the user could keep track of their contacts.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The couple areas that I got stuck on were data-binding and importing an image for the button.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The data-binding is quite simple, for no real coding is really involved; it is mostly drag and drop.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;My problem came because first I tried to bind an access database to a sequel server source, and then when I bound it to an access source, I did not set a primary key.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With several visits from &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName w:st="on"&gt;Jeff King&lt;/st1:PersonName&gt;, a Program Manager in Web platform and tools, I finally figured that out.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For more information on primary keys you can check out Greg Osefo’s blog, a fellow explorer, entitled “My First Database by Greg Osefo.”&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The second problem was a bit more complicated.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In my starter kit all of the buttons were images that were linked to the pages that they brought up.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;They were not just buttons that you can drag and drop.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I discovered that first there was a black and a white theme.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Within each theme there were several images that corresponded to each image on the website. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;I added my own image to the list using paint but could not get it to integrate into my webpage. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;With help from Paul Yuknewicz, a Program Manager in Visual Basic, I discovered that under App_Themes, under Black (which was the theme that I chose for my webpage), under Images, I had to add the following line to Default.skin:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;image&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Imageurl&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Images/button-view4.GIF"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;skinid&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="view"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Button-view4.GIF was the name of the button that I created in paint.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You then have to pick a name for the skinid, I chose view.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Then on the designer view of the page that you want to add the image, you have to choose the image that you want to make your new image, and change the skinid in the properties menu to the skinid that you chose for your image.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The name you chose will be in the drop-down menu if you put it in the Default.skin.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is quite simple once you know what you are doing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;I was very glad that I was given the website starter kit though because it was fun exploring something that I had never done before.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Also, the project that we are working on now as a group will not be a website, so that is another reason I was glad I got to work with it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;So we are currently working on an app for the Pocket PC.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is just getting off the ground, but&amp;nbsp;I will keep you posted!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=437635" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/vbteam/archive/tags/VB_5F00_Express/default.aspx">VB_Express</category><category domain="http://blogs.msdn.com/vbteam/archive/tags/Web/default.aspx">Web</category></item></channel></rss>