<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>TheChaseMan's Frenetic SoapBox</title><link>http://unboxedsolutions.com/sean/</link><description>Always looking for better ways to do things...</description><managingEditor>Sean Chase</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Sean Chase</dc:creator><title>Gaining the Simplicty of DataAdapter.Fill with DataReader Extension Methods</title><link>http://unboxedsolutions.com/sean/archive/2010/06/27/15963.aspx</link><pubDate>Sun, 27 Jun 2010 13:39:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2010/06/27/15963.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/15963.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2010/06/27/15963.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/15963.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/15963.aspx</trackback:ping><description>
&lt;p&gt;With all of the hype around Entity Framework and LINQ to SQL, there are still 
some of us out there that are still going old school and rolling our own POCOs. 
I know ORMs are supposed to be super-duper-bleeding-edge, but as much as I want 
to be like all of the other cool kids, for large reporting-based systems I end 
up writing some prettty nasty stored procs and fill up my POCOs. 
At my last gig we had a pretty sweet architecture built around a custom &amp;quot;typed 
table&amp;quot; concept. The idea was to simplify the DAL code (e.g. 
DataAdapter.Fill(customTable)) while getting the syntactic sugar in the IDE. 
Another idea I have is similar to that, except in the form of an extension 
method on DataReader. &lt;/p&gt;
&lt;p&gt;First, we create a custom attribute type. This is much like LINQ to SQL where 
the column mapping is made between the property and the query result (or column 
name) from the database. We&amp;#39;ll apply this to our POCO properties where 
applicable.&lt;/p&gt;
&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;namespace&lt;/span&gt;&amp;nbsp;PocoFiller&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;AttributeUsage&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;AttributeTargets&lt;/span&gt;.Property)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;ColumnMappingAttribute&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span style="color: #2b91af"&gt;Attribute&lt;/span&gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;source&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;.Empty;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;ColumnMappingAttribute()&amp;nbsp;{&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;Source&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;this&lt;/span&gt;.source;&amp;nbsp;}&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;this&lt;/span&gt;.source&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;value&lt;/span&gt;;&amp;nbsp;}&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;
&lt;p&gt;Next, we create the extension method on data reader. It has to account for 
nullable types as well as non-nullables and we do that using some reflection 
trickery (yes this could be optimized and cleaned up a bit, but you get the 
idea)...&lt;/p&gt;
&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Collections.Generic;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Data.SqlClient;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Reflection;
 
&lt;span style="color: blue"&gt;namespace&lt;/span&gt;&amp;nbsp;PocoFiller&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;DataReaderExtensions&lt;/span&gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;System.Collections.Generic.&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;T&amp;gt;&amp;nbsp;ToList&amp;lt;T&amp;gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;SqlDataReader&lt;/span&gt;&amp;nbsp;reader)&amp;nbsp;&lt;span style="color: blue"&gt;where&lt;/span&gt;&amp;nbsp;T&amp;nbsp;:&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&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;&lt;span style="color: blue"&gt;return&lt;/span&gt;&amp;nbsp;reader.ToList&amp;lt;T&amp;gt;(&lt;span style="color: blue"&gt;true&lt;/span&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;&amp;nbsp;&lt;span style="color: blue"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;System.Collections.Generic.&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;T&amp;gt;&amp;nbsp;ToList&amp;lt;T&amp;gt;(&lt;span style="color: blue"&gt;this&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;SqlDataReader&lt;/span&gt;&amp;nbsp;reader,&amp;nbsp;&lt;span style="color: blue"&gt;bool&lt;/span&gt;&amp;nbsp;ignoreConvertExceptions)&amp;nbsp;&lt;span style="color: blue"&gt;where&lt;/span&gt;&amp;nbsp;T&amp;nbsp;:&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&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;&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;results&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;T&amp;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;&lt;span style="color: blue"&gt;while&lt;/span&gt;&amp;nbsp;(reader.Read())&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;&amp;nbsp;&amp;nbsp;T&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;T();
&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;&amp;nbsp;results.Add(result);
&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;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Type&lt;/span&gt;&amp;nbsp;t&amp;nbsp;=&amp;nbsp;result.GetType();
 
&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;&amp;nbsp;&lt;span style="color: #2b91af"&gt;PropertyInfo&lt;/span&gt;[]&amp;nbsp;properties&amp;nbsp;=&amp;nbsp;t.GetProperties(System.Reflection.&lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.IgnoreCase
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;System.Reflection.&lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Public
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;System.Reflection.&lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance);
 
&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;&amp;nbsp;&lt;span style="color: blue"&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;property&amp;nbsp;&lt;span style="color: blue"&gt;in&lt;/span&gt;&amp;nbsp;properties)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;object&lt;/span&gt;[]&amp;nbsp;attributes&amp;nbsp;=&amp;nbsp;property.GetCustomAttributes(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ColumnMappingAttribute&lt;/span&gt;),&amp;nbsp;&lt;span style="color: blue"&gt;true&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(attributes&amp;nbsp;!=&amp;nbsp;&lt;span style="color: blue"&gt;null&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;attributes.Length&amp;nbsp;&amp;gt;&amp;nbsp;0)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;ColumnMappingAttribute&lt;/span&gt;&amp;nbsp;cma&amp;nbsp;=&amp;nbsp;attributes[0]&amp;nbsp;&lt;span style="color: blue"&gt;as&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;ColumnMappingAttribute&lt;/span&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;nbsp;dataValue&amp;nbsp;=&amp;nbsp;reader[cma.Source];
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #2b91af"&gt;DBNull&lt;/span&gt;.Value&amp;nbsp;==&amp;nbsp;dataValue)&amp;nbsp;dataValue&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;null&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(dataValue&amp;nbsp;!=&amp;nbsp;&lt;span style="color: blue"&gt;null&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;property.PropertyType&amp;nbsp;!=&amp;nbsp;dataValue.GetType())&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;try&lt;/span&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(property.PropertyType.IsGenericType&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;property.PropertyType.GetGenericTypeDefinition()&amp;nbsp;==&amp;nbsp;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Nullable&lt;/span&gt;&amp;lt;&amp;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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Type&lt;/span&gt;[]&amp;nbsp;genericArgs&amp;nbsp;=&amp;nbsp;property.PropertyType.GetGenericArguments();
&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(genericArgs.Length&amp;nbsp;&amp;gt;&amp;nbsp;0)&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataValue&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;Convert&lt;/span&gt;.ChangeType(dataValue,&amp;nbsp;genericArgs[0]);
&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;else&lt;/span&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataValue&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;Convert&lt;/span&gt;.ChangeType(dataValue,&amp;nbsp;property.PropertyType);
&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;&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;&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;&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;}
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;catch&lt;/span&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;throw&lt;/span&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;&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;&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;&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;&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;&amp;nbsp;&lt;span style="color: blue"&gt;try&lt;/span&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;&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;property.SetValue(result,&amp;nbsp;dataValue,&amp;nbsp;&lt;span style="color: blue"&gt;null&lt;/span&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;catch&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #2b91af"&gt;ArgumentException&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;if&lt;/span&gt;&amp;nbsp;(!ignoreConvertExceptions)&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;throw&lt;/span&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;&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;return&lt;/span&gt;&amp;nbsp;results;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}
&lt;/pre&gt;
&lt;p&gt;Then we simply create our POCO type(s) and apply the attribute to map the 
properties to the column values. In this example, I alias FirstName to 
&amp;quot;first_name&amp;quot; just for example...&lt;/p&gt;
&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;namespace&lt;/span&gt;&amp;nbsp;PocoFiller&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;ContactID&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;int&lt;/span&gt;&amp;nbsp;ContactID&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;EmployeeID&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;int&lt;/span&gt;?&amp;nbsp;EmployeeID&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;first_name&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;FirstName&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;LastName&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;LastName&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;Title&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: #2b91af"&gt;ColumnMapping&lt;/span&gt;(Source&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;HireDate&amp;quot;&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;?&amp;nbsp;HireDate&amp;nbsp;{&amp;nbsp;&lt;span style="color: blue"&gt;get&lt;/span&gt;;&amp;nbsp;&lt;span style="color: blue"&gt;set&lt;/span&gt;;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;
&lt;p&gt;Use the ToList&amp;lt;T&amp;gt; extension method and voila!&lt;/p&gt;
&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Data.SqlClient;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Data;
&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;System.Collections.Generic;
 
&lt;span style="color: blue"&gt;namespace&lt;/span&gt;&amp;nbsp;PocoFiller&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Program&lt;/span&gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;nbsp;connectionString&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;&amp;quot;Integrated&amp;nbsp;Security=SSPI;Data&amp;nbsp;Source=.;Initial&amp;nbsp;Catalog=AdventureWorks&amp;quot;&lt;/span&gt;;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt;&amp;nbsp;Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;sql&amp;nbsp;=&amp;nbsp;&lt;span style="color: #a31515"&gt;@&amp;quot;select&amp;nbsp;c.ContactID,&amp;nbsp;e.EmployeeID,&amp;nbsp;c.FirstName&amp;nbsp;first_name,&amp;nbsp;c.LastName,&amp;nbsp;e.Title,&amp;nbsp;e.HireDate&lt;/span&gt;
&lt;span style="color: #a31515"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&amp;nbsp;HumanResources.Employee&amp;nbsp;e&amp;nbsp;inner&amp;nbsp;join&amp;nbsp;Person.Contact&amp;nbsp;c&lt;/span&gt;
&lt;span style="color: #a31515"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on&amp;nbsp;c.ContactID&amp;nbsp;=&amp;nbsp;e.ContactID&lt;/span&gt;
&lt;span style="color: #a31515"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp;e.ManagerID&amp;nbsp;=&amp;nbsp;21&amp;quot;&lt;/span&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;&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;employees&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Employee&lt;/span&gt;&amp;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;&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;(&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;connection&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(connectionString))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;(&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;command&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;(sql,&amp;nbsp;connection))&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;&amp;nbsp;&amp;nbsp;command.CommandType&amp;nbsp;=&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandType&lt;/span&gt;.Text;
&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;&amp;nbsp;connection.Open();
 
&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;&amp;nbsp;&lt;span style="color: blue"&gt;using&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #2b91af"&gt;SqlDataReader&lt;/span&gt;&amp;nbsp;reader&amp;nbsp;=&amp;nbsp;command.ExecuteReader())&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;employees&amp;nbsp;=&amp;nbsp;reader.ToList&amp;lt;&lt;/strong&gt;&lt;span style="color: #2b91af"&gt;&lt;strong&gt;Employee&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&amp;gt;();&lt;/strong&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style="color: blue"&gt;var&lt;/span&gt;&amp;nbsp;employee&amp;nbsp;&lt;span style="color: blue"&gt;in&lt;/span&gt;&amp;nbsp;employees)&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;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;{0}\t{1}\t{2}\t{3}\t{4}&amp;quot;&lt;/span&gt;,&amp;nbsp;employee.ContactID,
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;employee.EmployeeID,
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;employee.FirstName,
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;employee.LastName,
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;employee.Title);
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}
&lt;/pre&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/15963.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>SQL 2008 IDE Awesomeness</title><link>http://unboxedsolutions.com/sean/archive/2010/04/21/15962.aspx</link><pubDate>Wed, 21 Apr 2010 09:58:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2010/04/21/15962.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/15962.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2010/04/21/15962.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/15962.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/15962.aspx</trackback:ping><description>&lt;P&gt;Not really a messagebox I want to see from my IDE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG src="/sean/images/sql2008.jpg"&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/15962.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>LINQ Query to DataTable (DataRows)</title><link>http://unboxedsolutions.com/sean/archive/2009/06/06/15961.aspx</link><pubDate>Sat, 06 Jun 2009 09:20:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2009/06/06/15961.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/15961.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2009/06/06/15961.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/15961.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/15961.aspx</trackback:ping><description>Interested in writing a LINQ query to fill a DataTable? Normally I don't condone writing ugly code but let's have some fun. In this example, an anonymous type array is created followed by a DataTable. Then a LINQ query that includes a generic Func delegate encapsulating a lambda expression which is invoked to create a new DataRow based on the DataTable structure and then fill it with the properties from the anonymous type. The results (IEnumerable&lt;DATAROW&gt;) are then added to the DataTable and then the DataTable is serialized to the Console output stream. In the words of Dilbert: if this is still too readable I can photocopy it and then run it through the fax machine a few times...&lt;BR&gt;&lt;BR&gt;&lt;DEL&gt;
&lt;DIV&gt;
&lt;STYLE&gt;
&lt;!--
 p.MsoNormal
 {mso-style-parent:"";
 margin-bottom:.0001pt;
 font-size:12.0pt;
 font-family:"Times New Roman";
 margin-left:0in; margin-right:0in; margin-top:0in}
--&gt;
&lt;/STYLE&gt;

&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: blue; FONT-SIZE: 10pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt; System;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: blue; FONT-SIZE: 10pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt; System.Data;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: blue; FONT-SIZE: 10pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt; System.Linq;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: blue; FONT-SIZE: 10pt"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt; App {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] args) {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; pretendThisIsADatabaseTable = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;[] { &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; { Name = &lt;SPAN style="COLOR: #a31515"&gt;"Steve"&lt;/SPAN&gt;, Age = 33 }, &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; { Name = &lt;SPAN style="COLOR: #a31515"&gt;"Doug"&lt;/SPAN&gt;, Age = 34 } };&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//Create empty destination data table&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #2b91af"&gt;DataTable&lt;/SPAN&gt; personTable = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DataTable&lt;/SPAN&gt;();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; personTable.TableName = &lt;SPAN style="COLOR: #a31515"&gt;"PersonTable"&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; personTable.Columns.Add(&lt;SPAN style="COLOR: #a31515"&gt;"Name"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; personTable.Columns.Add(&lt;SPAN style="COLOR: #a31515"&gt;"Age"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//Query anonymous type array as DataRow objects&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; results = &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; person &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; pretendThisIsADatabaseTable&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;select&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: #2b91af"&gt;DataRow&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #2b91af"&gt;DataRow&lt;/SPAN&gt;&amp;gt;(&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;SPAN style="COLOR: #2b91af"&gt;DataRow&lt;/SPAN&gt; row, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; name, &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; age) =&amp;gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; row[&lt;SPAN style="COLOR: #a31515"&gt;"Name"&lt;/SPAN&gt;] = name;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; row[&lt;SPAN style="COLOR: #a31515"&gt;"Age"&lt;/SPAN&gt;] = age;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; row;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Invoke(personTable.NewRow(), person.Name, person.Age);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;//put rows into data table&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.ToList().ForEach(row =&amp;gt; personTable.Rows.Add(row));&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; personTable.WriteXml(&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.Out);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DEL&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;EDIT: everything above is pure cheese. Here's a real solution via my old co-worker Shawn :)&lt;BR&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;class Program&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var data = new[] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new {FirstName="Bill", LastName="Clinton", ID=1, WasPresident=true}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , new {FirstName="John", LastName="McCain", ID=2, WasPresident=false}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , new {FirstName="George", LastName="Bush", ID=2, WasPresident=true}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataTable table = (from d in data&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; where d.WasPresident==true &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; select d).AsDataTable();&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; table.WriteXml(Console.Out);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&lt;BR&gt;Extension method below is required for the sugar above (AsDataTable)&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt;static class Extensions&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static DataTable AsDataTable&amp;lt;T&amp;gt;(this IEnumerable&amp;lt;T&amp;gt; enumberable)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataTable table = new DataTable("Generated");&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T first = enumberable.FirstOrDefault();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (first == null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return table;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PropertyInfo[] properties = first.GetType().GetProperties();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (PropertyInfo pi in properties)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; table.Columns.Add(pi.Name, pi.PropertyType);&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (T t in enumberable)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRow row = table.NewRow();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (PropertyInfo pi in properties)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row[pi.Name]=t.GetType().InvokeMember(pi.Name,BindingFlags.GetProperty,null, t, null);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; table.Rows.Add(row);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return table;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/15961.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>Old School Architecture, Bleeding Edge Technology</title><link>http://unboxedsolutions.com/sean/archive/2009/06/03/15960.aspx</link><pubDate>Wed, 03 Jun 2009 10:15:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2009/06/03/15960.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/15960.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2009/06/03/15960.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/15960.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/15960.aspx</trackback:ping><description>&lt;p&gt;For a while now I've been in &amp;quot;lurker&amp;quot; mode in all of the .NET community 
blogs. One of the interesting transitions that's been going on is the demo code 
for...well...just about everything including LINQ (whether it's the ADO.NET 
Entity Framework, LINQ-to-SQL, etc) or even ASP.NET MVC which includes using 
LINQ. Specifically, the removal of application &amp;quot;layers.&amp;quot; Don't get me wrong, I 
think logically there's great patterns of cohesion to support the whole ability 
necessary for things like ASP.NET MVC's indirection. However sometimes, looking 
at this code (not to mention writing it) gives me a sense of going backwards 
into monolithic-type architecture. So I've been pondering from an 
architecture/design perspective how to implement all of this cool stuff but at 
the same time keep my mind at ease. So in playing around with Northwind (my 
favorite example database of all time :) )&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;Data Access Layer - Simply generate an ADO.NET Entity Framework Model&amp;nbsp; 
 (.edmx)&lt;/li&gt;
 &lt;li&gt;Business Interface - This layer contains our use-cases where the UI 
 leverages its services via messages, data structures, whatever makes sense.&lt;/li&gt;
 &lt;li&gt;Common Library - Since I don't like the idea of ADO.NET EF objects as my 
 DTOs, I'd rather roll my own
 &lt;a target="_blank" href="http://en.wikipedia.org/wiki/POJO"&gt;POJO&lt;/a&gt; (C#) 
 objects (or even use DataTable or derivative of it).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;style&gt;
&lt;!--
 p.MsoNormal
 {mso-style-parent:"";
 margin-bottom:.0001pt;
 font-size:12.0pt;
 font-family:"Times New Roman";
 margin-left:0in; margin-right:0in; margin-top:0in}
--&gt;
&lt;/style&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;//Common 
Library Assembly DTO Class&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt; 
Northwind.Common {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt;
&lt;span style="color:#2B91AF"&gt;CustomerEntity&lt;/span&gt; {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
Address { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
City { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
CompanyName { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
ContactName { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
ContactTitle { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
Country { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
CustomerID { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
Fax { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
Phone { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color:blue"&gt;public&lt;/span&gt;
&lt;span style="color:blue"&gt;string&lt;/span&gt; PostalCode { &lt;span style="color:blue"&gt;get&lt;/span&gt;;
&lt;span style="color:blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt; 
Region { &lt;span style="color:blue"&gt;get&lt;/span&gt;; &lt;span style="color:blue"&gt;set&lt;/span&gt;; 
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;
//Business Interface (or Facade) Assembly&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt; 
Northwind.BusinessInterface {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;public&lt;/span&gt;
&lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;
CustomerInterface&lt;/span&gt; {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;public&lt;/span&gt;
&lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;Northwind.Common.&lt;span style="color:#2B91AF"&gt;CustomerEntity&lt;/span&gt;&amp;gt; 
GetAll() {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;using&lt;/span&gt; (&lt;span style="color:blue"&gt;var&lt;/span&gt; 
nwEntities = &lt;span style="color:blue"&gt;new&lt;/span&gt; NorthwindAPI.&lt;span style="color:#2B91AF"&gt;NorthwindEntities&lt;/span&gt;()) 
{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;var&lt;/span&gt; results = &lt;span style="color:blue"&gt;from&lt;/span&gt; 
custs &lt;span style="color:blue"&gt;in&lt;/span&gt; nwEntities.Customers&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;select&lt;/span&gt;
&lt;span style="color:blue"&gt;new&lt;/span&gt; Northwind.Common.&lt;span style="color:#2B91AF"&gt;CustomerEntity&lt;/span&gt;() 
{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Address = custs.Address,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; City = custs.City,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;CompanyName = custs.CompanyName,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContactName = custs.ContactName,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContactTitle = custs.ContactTitle,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Country = custs.Country,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomerID = custs.CustomerID,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fax = custs.Fax,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Phone = custs.Phone,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; PostalCode = custs.PostalCode,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Region = custs.Region&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:#2B91AF"&gt;Debug&lt;/span&gt;.WriteLine(((&lt;span style="color:#2B91AF"&gt;ObjectQuery&lt;/span&gt;)results).ToTraceString());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;return&lt;/span&gt; results.ToList();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;//Client 
Console App &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt; 
TestClient {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;Program&lt;/span&gt; 
{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; 
Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args) {&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;Northwind.Common.&lt;span style="color:#2B91AF"&gt;CustomerEntity&lt;/span&gt;&amp;gt; 
custs = Northwind.BusinessInterface.&lt;span style="color:#2B91AF"&gt;CustomerInterface&lt;/span&gt;.GetAll();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
custs.ForEach(c =&amp;gt; &lt;span style="color:#2B91AF"&gt;Console&lt;/span&gt;.WriteLine(c.CustomerID));&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;
&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This is nothing new as far as architecture ideas go - many designers are 
running into the same philosophical conflict, but what is interesting is the 
other questions it raises. When you've had tried-and-true methodologies for many 
years, it's difficult to simply jump ship and feel good about compiling LINQ 
queries into your code versus writing stored procs, or using ORM entities 
throughout your application versus creating more vanilla DTOs.&amp;nbsp; For 
something intended as only a Web application, how much do I care about tier 
separation versus logic-layers? We're assuming the application will end up only 
being a Web application. If it turns into a system that then needs to become 
published into a service, do you then refactor at that point, or do you plan 
ahead by separating layers as I'm inclined to do? What is the maintenance 
impact? How can we assume that our database is already designed and fleshed-out 
enough to the point where it is OK to use an ORM against it? Does this mean we 
design our database first? Generally it makes more sense to come up with our 
use-cases first, which is more of the BusinessInterface layer (and UI to some 
extent) before we identify what our system entity/attribute and data storage 
look like. If we start with use-cases (or tests for our TDD enthusiasts), will 
the database ever change during the development cycle? If so, will having to 
refactor my model and the corresponding ORM-generated classes have a significant 
impact on my team during development?&lt;/p&gt;
&lt;p&gt;It is interesting stuff to think about. I'll keep lurking and see what others 
come up with too. Drop me a line if you have any interesting opinions on the 
subject. :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/15960.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>401 Error Using a Domain Account Identity in an App Pool</title><link>http://unboxedsolutions.com/sean/archive/2009/03/10/15958.aspx</link><pubDate>Tue, 10 Mar 2009 19:44:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2009/03/10/15958.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/15958.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2009/03/10/15958.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/15958.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/15958.aspx</trackback:ping><description>&lt;P&gt;Long title - but that says it all. Today I wasted a large chunk of time trying to figure out why I was getting a challenge dialog on my ASP.NET site. The site was configured to use an application pool that I made. The app pool was set to run as a domain account identity and the NTFS permissions on all of the folders looked fine...but I kept getting prompted to enter my user credentials. Buried in a sea of security event log entries were several kerberos errors. It turns out that on this server, kerberos was on by default.&lt;/P&gt;
&lt;P&gt;The solution was to run a simple command line to force IIS to use NTLM:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;adsutil.vbs set w3svc/3/NTAuthenticationProviders "NTLM"&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A target="_blank" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;871179"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;871179&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Hope this saves someone some time if you run into the same problem.&amp;nbsp; :)&lt;/P&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/15958.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>Fun w/ Visual Studio 2008</title><link>http://unboxedsolutions.com/sean/archive/2007/11/27/9404.aspx</link><pubDate>Tue, 27 Nov 2007 14:48:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2007/11/27/9404.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/9404.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2007/11/27/9404.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/9404.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/9404.aspx</trackback:ping><description>&lt;P&gt;I'm sure you've heard by now the Visual Studio 2008 is RTM. If you haven't already, play around a bit with object/collection initializers and LINQ. One interesting thing&amp;nbsp; I've learned today is the &amp;#8220;let&amp;#8221; clause which allows you to define a subexpression in a LINQ query. Also you can generate XML fairly easily in your LINQ queries (or anything else you want to transform for that matter).&lt;/P&gt;

&lt;div&gt;&lt;style&gt;
&lt;!--
 p.MsoNormal
 {mso-style-parent:"";
 margin-bottom:.0001pt;
 font-size:12.0pt;
 font-family:"Times New Roman";
 margin-left:0in; margin-right:0in; margin-top:0in}
--&gt;
&lt;/style&gt;
&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue"&gt;class&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt; &lt;span style="color:#2B91AF"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;Person&lt;/span&gt;&amp;gt; people = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;Person&lt;/span&gt;&amp;gt;(){&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;Person&lt;/span&gt; { Name = &lt;span style="color:#A31515"&gt;&amp;quot;Jack&amp;quot;&lt;/span&gt;, Age = 22, FavoriteColors = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt;[] { &lt;span style="color:#A31515"&gt;&amp;quot;Green&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515"&gt;&amp;quot;Red&amp;quot;&lt;/span&gt; } },&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;Person&lt;/span&gt; { Name = &lt;span style="color:#A31515"&gt;&amp;quot;Jill&amp;quot;&lt;/span&gt;, Age = 33, FavoriteColors = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:blue"&gt;string&lt;/span&gt;[] { &lt;span style="color:#A31515"&gt;&amp;quot;Black&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515"&gt;&amp;quot;Blue&amp;quot;&lt;/span&gt; } }&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;var&lt;/span&gt; xmlSource = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515"&gt;&amp;quot;People&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;from&lt;/span&gt; person &lt;span style="color:blue"&gt;in&lt;/span&gt; people&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;let&lt;/span&gt; colors = &lt;span style="color:#2B91AF"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#A31515"&gt;&amp;quot;{0},{1}&amp;quot;&lt;/span&gt;, person.FavoriteColors[0], person.FavoriteColors[1])&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue"&gt;select&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515"&gt;&amp;quot;Person&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, person.Name),&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515"&gt;&amp;quot;Age&amp;quot;&lt;/span&gt;, person.Age),&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515"&gt;&amp;quot;FavoriteColors&amp;quot;&lt;/span&gt;, colors)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2B91AF"&gt;Console&lt;/span&gt;.WriteLine(xmlSource);&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:green"&gt;/* output:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;People&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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;lt;Person&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;Name&amp;gt;Jack&amp;lt;/Name&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;Age&amp;gt;22&amp;lt;/Age&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;FavoriteColors&amp;gt;Green,Red&amp;lt;/FavoriteColors&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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;lt;/Person&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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;lt;Person&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;Name&amp;gt;Jill&amp;lt;/Name&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;Age&amp;gt;33&amp;lt;/Age&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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; &amp;lt;FavoriteColors&amp;gt;Black,Blue&amp;lt;/FavoriteColors&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&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;lt;/Person&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/People&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-autospace: none"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/9404.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>OCI-22053: overflow error</title><link>http://unboxedsolutions.com/sean/archive/2007/10/25/6654.aspx</link><pubDate>Thu, 25 Oct 2007 12:31:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2007/10/25/6654.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/6654.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2007/10/25/6654.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/6654.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/6654.aspx</trackback:ping><description>&lt;P&gt;Just FYI - if you are using the System.Net.OracleClient namespace with 10g it is possible you will run into this error. Now before you start getting too excited about being able to set the ReturnProviderSpecificTypes&amp;nbsp;property on an adapter, you can run into this problem with output parameters on an ExecuteNonQuery so it's probably a safer bet to use the OleDb provider with 10g. &lt;/P&gt;
&lt;P&gt;Flame on if I'm wrong.&lt;/P&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/6654.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>Getting Results from an Oracle Stored Proc</title><link>http://unboxedsolutions.com/sean/archive/2007/10/25/6653.aspx</link><pubDate>Thu, 25 Oct 2007 12:13:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2007/10/25/6653.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/6653.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2007/10/25/6653.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/6653.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/6653.aspx</trackback:ping><description>&lt;P&gt;I'm not going to bash Oracle...it does a good job of bashing itself. For those of us used to being productive using SQL Server (I've heard it said that Oracle sells its products to managers, Microsoft sells to developers), here's some interesting info on calling an Oracle proc.&lt;/P&gt;
&lt;P&gt;OK, so you are used to SQL Server and you want to create a proc that ultimately (at some point) returns some results in the form of...well, a bunch of records!&lt;/P&gt;&lt;CODE&gt;create procedure foo as &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a, b, c &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from bar &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where blah = 1 &lt;/CODE&gt;
&lt;P&gt;You jump into Oracle and try the same thing you'll get this nice error message:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;PLS-00428: an INTO clause is expected in this SELECT statement. Also we are better than you M$ noobcakes and Bill Gates is a jerk. Windoze is teh suxxorz. ZOMG barrens chat.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The way around this is to use a ref cursor. It's silly and it's juvenile and it's like going back in time, but it works. &lt;A href="http://support.microsoft.com/?id=309361"&gt;http://support.microsoft.com/?id=309361&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;But before you get to pissed off about having to create an Oracle package and define a cursor type, with 9i and 10g you can use sys_refcursor and save the trouble.&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;CREATE OR REPLACE PROCEDURE Foo (io_cursor IN OUT sys_refcursor) AS &lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;v_cursor sys_refcursor; &lt;BR&gt;&lt;BR&gt;... &lt;BR&gt;begin &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open v_cursor for &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a, b, c &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where blah = 1; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; io_cursor := v_cursor; &lt;BR&gt;end; &lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;That's it, you're done! Yay!&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Oh wait no you're not!!! Because if you want to test it you're probably thinking "Hey I can just type EXEC&amp;nbsp;Foo in Query Analyzer." Sorry there's more pig $#!+ you have to go through than that. Isn't DBArtisan a great tool?!?! *vomits* &lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;declare &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE&gt;v_cursor sys_refcursor; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a number;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b number;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c number&lt;BR&gt;&lt;BR&gt;begin &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE&gt;Foo(io_cursor =&amp;gt; v_cursor); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loop &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fetch v_cursor into a, b, c;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit when v_cursor%NOTFOUND;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbms_output.put_line(a ||&amp;nbsp;b || c); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end loop; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close v_cursor; &lt;BR&gt;end; &lt;CODE&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/P&gt;Hopefully you're not stuck in Oracle hell (god I miss SQL Server 2005), but if you've had your nose jammed in it like a bad dog and you're not getting help from the elitist oracle buff community, and you run across this problem...hope it helps. :-)&lt;img src ="http://unboxedsolutions.com/sean/aggbug/6653.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>Using the AJAX Toolkit AutoCompleteExtender with Visual Studio SP1</title><link>http://unboxedsolutions.com/sean/archive/2007/02/23/1588.aspx</link><pubDate>Fri, 23 Feb 2007 14:20:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2007/02/23/1588.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/1588.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2007/02/23/1588.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/1588.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/1588.aspx</trackback:ping><description>&lt;p&gt;Just a heads up if you use the
&lt;a target="_blank" href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx"&gt;
AutoCompleteExtender Ajax control&lt;/a&gt;. I'm not sure if this is because I'm using 
Visual Studio SP1 (using Web Application Projects), but I could not get this 
control to work with an ASMX, but rather a WebMethod in the page's code-behind. 
Also, make sure your &lt;i&gt;ServiceMethod &lt;/i&gt;attribute declaration is &lt;u&gt;&lt;b&gt;static&lt;/b&gt;&lt;/u&gt;!&lt;/p&gt;
&lt;p&gt;&lt;img src="/sean/images/AutoCompleteExtender.JPG"&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;%@ Register Assembly=&amp;quot;AjaxControlToolkit&amp;quot; 
Namespace=&amp;quot;AjaxControlToolkit&amp;quot; TagPrefix=&amp;quot;ajaxToolkit&amp;quot; %&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br&gt;
&amp;lt;asp:ScriptManager ID=&amp;quot;ScriptManager1&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br&gt;
&amp;lt;asp:TextBox runat=&amp;quot;server&amp;quot; ID=&amp;quot;myTextBox&amp;quot; Width=&amp;quot;300&amp;quot; autocomplete=&amp;quot;off&amp;quot; /&amp;gt;&lt;br&gt;
&amp;lt;ajaxToolkit:AutoCompleteExtender runat=&amp;quot;server&amp;quot; &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
ID=&amp;quot;autoComplete1&amp;quot; &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
TargetControlID=&amp;quot;myTextBox&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
ServiceMethod=&amp;quot;GetCompletionList&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
MinimumPrefixLength=&amp;quot;1&amp;quot; &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
CompletionInterval=&amp;quot;1000&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
EnableCaching=&amp;quot;true&amp;quot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
CompletionSetCount=&amp;quot;12&amp;quot; /&amp;gt;&lt;br&gt;
&amp;lt;/form&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;public partial class _Default : System.Web.UI.Page {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static string[] GetCompletionList(string prefixText, 
int count) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string sql = String.Format(&amp;quot;select 
companyName from customers where companyname like @companyname + '%'&amp;quot;);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;string&amp;gt; companyList = new 
List&amp;lt;string&amp;gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SqlConnection connection = new 
SqlConnection(&amp;quot;Integrated Security=SSPI;Initial Catalog=Northwind;Data 
Source=.&amp;quot;))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SqlCommand command = new 
SqlCommand(sql, connection)) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
connection.Open();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
command.Parameters.AddWithValue(&amp;quot;@companyname&amp;quot;, prefixText);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SqlDataReader 
reader = command.ExecuteReader()) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
while (reader.Read()) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
companyList.Add(reader.GetString(0));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return companyList.ToArray();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://unboxedsolutions.com/sean/aggbug/1588.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Sean Chase</dc:creator><title>Too Many Breakpoints = Bad Visual Studio Performance</title><link>http://unboxedsolutions.com/sean/archive/2007/02/15/1585.aspx</link><pubDate>Thu, 15 Feb 2007 15:18:00 GMT</pubDate><guid>http://unboxedsolutions.com/sean/archive/2007/02/15/1585.aspx</guid><wfw:comment>http://unboxedsolutions.com/sean/comments/1585.aspx</wfw:comment><comments>http://unboxedsolutions.com/sean/archive/2007/02/15/1585.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://unboxedsolutions.com/sean/comments/commentRss/1585.aspx</wfw:commentRss><trackback:ping>http://unboxedsolutions.com/sean/services/trackbacks/1585.aspx</trackback:ping><description>Just wanted to share this in case anyone has issues with very slow build and debug time in Visual Studio for ASP.NET applications. This solution might sound a lot like holding tin foil over your head, but....try removing all of your breakpoints. "Clear All Breakpoints" can actually&amp;nbsp;make good things happen.&lt;img src ="http://unboxedsolutions.com/sean/aggbug/1585.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>