<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>ADO.NET 3.0</title><link>http://davidhayden.com/blog/dave/category/54.aspx</link><description>ADO.NET 3.0</description><managingEditor>Dave Hayden</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Dave Hayden</dc:creator><title>Dynamic Data Entities Websites - EntityDataSource and ASP.NET Website Scaffolding - Rapid Application Development ( RAD )</title><link>http://davidhayden.com/blog/dave/archive/2008/05/13/DynamicDataEntitiesWebsitesEntityDataSourceASPNETWebsiteScaffolding.aspx</link><pubDate>Tue, 13 May 2008 10:41:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2008/05/13/DynamicDataEntitiesWebsitesEntityDataSourceASPNETWebsiteScaffolding.aspx</guid><description>A step-by-step look at the new ASP.NET Dynamic Data Entities Websites Project Template and its use of the new EntityDataSource in Visual Studio 2008 SP1. We''l also re-look at what it takes to wire the ADO.NET Entity Data Model to Dynamic Data and implement Scaffolding. Very cool!&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3552.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>Sarasota .NET Developer Group - Presenting ASP.NET MVC Framework and Data Access Tips and Techniques</title><link>http://davidhayden.com/blog/dave/archive/2008/03/17/SarasotaNETDeveloperGroupASPNETMVCFrameworkDataAccessTipsTechniques.aspx</link><pubDate>Mon, 17 Mar 2008 00:47:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2008/03/17/SarasotaNETDeveloperGroupASPNETMVCFrameworkDataAccessTipsTechniques.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;Sarasota .NET Developer Group - Presenting ASP.NET MVC Framework and Data Access Tips and Techniques&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida .NET Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, Filed: &lt;A href="http://www.flacodebrew.net/"&gt;Florida .NET Developer Events&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Soon after the &lt;/FONT&gt;&lt;A href="http://www.flacodebrew.net/Post/OrlandoCodeCamp2008March222008.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Orlando Code Camp&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, I will be giving 2 presentations to the &lt;/FONT&gt;&lt;A href="http://www.flacodebrew.net/Category/SarasotaNetDevelopers.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota .NET Developer Group&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; at 6:00pm on &lt;STRONG&gt;Thursday, April 10, 2008&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;Introduction to the ASP.NET MVC Framework&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Create websites using the new ASP.NET MVC Framework from Microsoft. In this presentation we will discuss how the ASP.NET MVC Framework is different from ASP.NET Webforms as well as the strengths and weaknesses of each. We will create routes, views, controllers, and controller factories as well as discuss different ways to communicate between views and controllers. We will also leverage various IoC Tools, like Castle Windsor and Unity, to inject dependencies into controllers as well as use AJAX with the ASP.NET MVC Framework.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;Data Access Tips &amp;amp; Techniques&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Learn and explore the variety of ways you can access data using ADO.NET, the Data Access Application Block, LINQ To SQL, ADO.NET Entity Framework, ADO.NET Data Services, and the ASP.NET 3.5 Dynamic Data Framework. In this session we will walk-thru and build several examples for each technique as well as discuss tips, strengths, and weaknesses.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I look forward to seeing everyone at the meeting! We will be talking about quite a few technologies...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;News Feed: &lt;A href="http://www.davidhayden.com/"&gt;http://www.davidhayden.com/&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3496.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>SQLSaturday - SQL Server Data Access Tips and Techniques with David Hayden - Tampa Florida</title><link>http://davidhayden.com/blog/dave/archive/2008/02/10/SQLSaturdaySQLServerDataAccessTipsTechniquesDavidHaydenTampaFlorida.aspx</link><pubDate>Sun, 10 Feb 2008 12:07:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2008/02/10/SQLSaturdaySQLServerDataAccessTipsTechniquesDavidHaydenTampaFlorida.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;SQLSaturday - SQL Server Data Access Tips and Techniques with David Hayden - Tampa Florida&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota Web Developer&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.flacodebrew.net/Tag/SQLSaturday.aspx"&gt;&lt;IMG alt=SQLSaturday src="/photos/sql_saturday_logo.jpg" align=right border=0&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;I will be presenting at &lt;/FONT&gt;&lt;A href="http://www.flacodebrew.net/Tag/SQLSaturday.aspx"&gt;&lt;FONT face=Verdana size=2&gt;SQLSaturday&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; in Tampa, Florida on Saturday, February 16, 2008.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Here is the abstract:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;FONT face=Verdana size=2&gt;SQL Server Data Access Tips and Techniques&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;You have optimized and tuned your SQL Server Database and now you need to access the data from your application. Learn and explore the variety of ways you can access the data using &lt;A href="http://davidhayden.com/blog/dave/category/26.aspx?Show=All"&gt;ADO.NET&lt;/A&gt;, the Data Access Application Block, &lt;A href="http://davidhayden.com/blog/dave/category/59.aspx?Show=All"&gt;LINQ To SQL&lt;/A&gt;, ADO.NET Entity Framework, ADO.NET Data Services, and the &lt;A href="http://davidhayden.com/blog/dave/archive/2008/01/15/ASPNETDynamicDataDisplayingInsertingEditingImagesSQLServerDatabase.aspx"&gt;ASP.NET 3.5 Dynamic Data Framework&lt;/A&gt;. In this session we will walk-thru and build several examples for each technique as well as discuss tips, strengths, and weaknesses. Come with your questions and explore the wonderful world of data access to SQL Server!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;We only have an hour, so I will be prepared to discuss and demo:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET 2.0&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href="http://davidhayden.com/blog/dave/category/50.aspx?Show=All"&gt;Enterprise Library&lt;/A&gt; &lt;A href="http://davidhayden.com/blog/dave/archive/2006/01/08/2686.aspx"&gt;Data Access Application Block&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;LINQ To SQL&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Data Services&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;ASP.NET Dynamic Data Websites&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is subject to change, of course, but I thought I would break the presentation into thirds:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;20 minutes: ADO.NET and DAAB&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;20 minutes: LINQ To SQL and ASP.NET Dynamic Data&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;20&amp;nbsp;minutes: &lt;A href="http://davidhayden.com/blog/dave/category/63.aspx"&gt;ADO.NET Entity Framework&lt;/A&gt; and &lt;A href="http://codebetter.com/blogs/david.hayden/archive/2008/01/08/getting-started-with-ado-net-data-services.aspx"&gt;ADO.NET Data Services&lt;/A&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This isn't a deep technical session. It's goal is to expose you to data access options from Microsoft that exist today and are coming down the pike. I&amp;nbsp;will be happy to&amp;nbsp;answer more technical questions after the presentation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;See you there!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Author:&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida Web Developer&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Site: &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;http://www.davidhayden.com/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3455.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>Creating Data Access Layer Using DbProviderFactories and DbProviderFactory</title><link>http://davidhayden.com/blog/dave/archive/2007/10/08/CreatingDataAccessLayerUsingDbProviderFactoriesDbProviderFactory.aspx</link><pubDate>Mon, 08 Oct 2007 18:00:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2007/10/08/CreatingDataAccessLayerUsingDbProviderFactoriesDbProviderFactory.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;Creating Data Access Layer Using DbProviderFactories and DbProviderFactory&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida .NET Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ), Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/26.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET 2.0&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I know I have mentioned &lt;STRONG&gt;DbProviderFactories&lt;/STRONG&gt; and &lt;STRONG&gt;DbProviderFactory&lt;/STRONG&gt; in ADO.NET 2.0 before, but they were new to some developers this weekend so I thought I would reiterate their use in a database agnostic &lt;A href="http://www.pnpguidance.net/Tag/DataAccessLayer.aspx"&gt;data access layer&lt;/A&gt; in your winform and ASP.NET Web Applications.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If you look at the connection string in your App.Config or Web.Config:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;add
    name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;ConnectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
    connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;server=.;Initial Catalog=Northwind;...&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
    providerName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;System.Data.SqlClient&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;you will notice the &lt;STRONG&gt;providerName&lt;/STRONG&gt; Property, which represents the unique name for the .NET Framework data provider used to connect to an underlying data source.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In this case we are connecting to SQL Server, but we don't really need to know that. We can use that providerName to create various connection, command, and other database classes without knowing what type of database we are connecting to by using the &lt;STRONG&gt;DbProviderFactories&lt;/STRONG&gt; and &lt;STRONG&gt;DbProviderFactory&lt;/STRONG&gt; Classes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;First, let's get the actual connectionString and providerName that make up the database we are connecting to using System.Configuration.&lt;STRONG&gt;ConfigurationManager&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; connectionString &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
    ConfigurationManager.ConnectionStrings
    [&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;ConnectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;].ConnectionString;
    
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; providerName &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; 
    ConfigurationManager.ConnectionStrings
    [&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;ConnectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;].ProviderName;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Once we have&amp;nbsp;the providerName, we can create a DbProviderFactory class for the database using the DbProviderFactories Class:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: #000000"&gt;DbProviderFactory provider &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
    DbProviderFactories.GetFactory(providerName);&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The DbProviderFactory Class exposes several methods that allow us to create classes to access the database:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;CreateConnection()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;CreateCommand()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;CreateParameter()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;CreateDataReader()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;CreateDataAdapter()&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Again, keep in mind that it does not matter what database we are using at this point - could be &lt;A href="http://davidhayden.com/blog/dave/category/14.aspx?Show=All"&gt;SQL Server&lt;/A&gt;, Oracle, &lt;A href="http://davidhayden.com/blog/dave/archive/2007/01/28/EnterpriseLibraryDAABMicrosoftAccess2007.aspx"&gt;Microsoft Access&lt;/A&gt;, DB2, Firebird, etc. Pick your poison.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Assuming the database supports stored procedures, we can call a stored procedure in a database agnostic way as follows:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; (DbConnection cn &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; provider.CreateConnection())
{
    cn.ConnectionString &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; connectionString
    
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; (DbCommand command &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; cn.CreateCommand())
    {
        command.CommandText &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;GetAllCustomers&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;
        command.CommandType &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; CommandType.StoredProcedure;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: #000000"&gt;        cn.Open();&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
        
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; (DbDataReader dr &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; command.ExecuteReader())
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; Do Something...&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;        }
    }
}
&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is an awesome way to target multiple database with your application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Don't forget you can do some really cool stored procedure parameter discovery as well:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/11/01/SqlCommandBuilderDeriveParameters.aspx"&gt;&lt;FONT color=#0000ff&gt;SqlCommandBuilder.DeriveParameters - Get Parameter Information for a Stored Procedure - ADO.NET Tutorials&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;All good &lt;A href="http://davidhayden.com/blog/dave/category/24.aspx?Show=All"&gt;O/R Mappers&lt;/A&gt; and &lt;A href="http://davidhayden.com/blog/dave/category/15.aspx?Show=All"&gt;Code Generators for the Data Access Layer&lt;/A&gt; handle all of this data access layer database agnostic code for you, but it is still good to know what is happening behind the scenes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Hope this helps!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;FONT face=Verdana&gt;Similar ADO.NET Tutorials&lt;/FONT&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2007/02/22/ReadConnectionStringsWebConfigAppConfig.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;Reading Connection Strings in Web.Config and App.Config and Enterprise Library DAAB Settings&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/03/29/2895.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;GetSchema and DbProviderFactories - List of Tables in a Database&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/10/01/GetListOfTablesInMicrosoftAccessUsingGetSchema.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;Get List of Tables in an Access Database - ADO.NET Tutorials&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2005/10/30/2550.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;.NET 2.0 Provider Model - Polymorphism - Factory Method - ADO.NET 2.0 Data Providers&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/04/14/2915.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;Finding Database Servers / SQL Server Instances on Local Network - GetDataSources - DbDataSourceEnumerator&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/04/01/2898.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;Data Access Application Block - Reduce ADO.NET Code in Your Applications&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida .NET Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ), Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/26.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET 2.0&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3358.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>LINQ to SQL Performance and Prepared Statements</title><link>http://davidhayden.com/blog/dave/archive/2007/07/06/LINQToSQLPerformancePreparedStatements.aspx</link><pubDate>Fri, 06 Jul 2007 00:33:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2007/07/06/LINQToSQLPerformancePreparedStatements.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;LINQ to SQL Performance and Prepared Statements&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Microsoft MVP C#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ), Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/52.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;LINQ to SQL&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Rico Mariani has an interesting series of posts on LINQ to SQL Performance with&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/ricom/archive/2007/07/05/dlinq-linq-to-sql-performance-part-4.aspx" target=_blank&gt;&lt;FONT face=Verdana size=2&gt;Part 4&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;giving some numbers on the performance of LINQ to SQL compared to raw ADO.NET ( DataReader ).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I don't know if you can read a lot into those numbers other than 1) there has been a lot of improvement in LINQ to SQL performance and 2) there are some ways to improve LINQ to SQL performance-&amp;nbsp;like using compiled queries when running the same query many times.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;What got me thinking in the post was not the performance numbers, but this simple statement:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;#8220;However I didn't go to the trouble of creating prepared statements for update and insert cases, DLinq gives you this automatically.&amp;#8221;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Interesting statement that suggests calling SqlCommand.Prepare() is a lot of effort. Huh? Makes me now wonder two things:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;What&amp;nbsp;his insert and update commands look like using straight ADO.NET?&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;What the performance numbers would look like if he did use prepared statements?&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I am under the impression that SQL Server 2005 is pretty smart about handling and caching execution paths, etc. so the use of prepared statements is not as dramatically beneficial as it may be in earlier versions of SQL Server. However, this is something I would have loved to see Rico test just to see if there was a difference.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I now feel those &amp;#8220;DLINQ is Faster&amp;#8221;&amp;nbsp;observations for update, compiled update, and insert are less interesting since I don't have the prepared statement tests. Is use of prepared statements&amp;nbsp;why LINQ to SQL is faster in those scenarios? Seems incomplete...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Source:&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Microsoft MVP C#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/52.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;LINQ to SQL&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3273.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>ADO.NET Entity Framework - When To Use It vs. Linq to SQL</title><link>http://davidhayden.com/blog/dave/archive/2007/04/29/ADONETEntityFrameworkWhenToUseItVsLinqToSQL.aspx</link><pubDate>Sun, 29 Apr 2007 23:30:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2007/04/29/ADONETEntityFrameworkWhenToUseItVsLinqToSQL.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;ADO.NET Entity Framework - When To Use It&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida ASP.NET C# SQL Server Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I mentioned earlier that the &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2007/04/29/ADONETEntityFrameworkCutVisualStudioOrcas.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework was Cut From .NET 3.5 and Visual Studio Orcas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; and we will have to wait until the first half of 2008 to see a release. In the meantime there is &lt;STRONG&gt;Linq to SQL&lt;/STRONG&gt; which I have played with quite a bit and enjoy for &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/24.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;O/R Mapping&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. I showed a trivial example of it not too long ago:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2007/03/18/LinqToSqlTutorialSQLServerDatabase.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Linq to SQL Example Tutorial - Visual Studio ORCAS March 2007 CTP - ASP.NET&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Right after the announcement that the ADO.NET Entity Framework was cut from .NET 3.5, the data access team at Microsoft came out with their strategy for data access that is worth reading &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/data/archive/2007/04/28/microsoft-s-data-access-strategy.aspx" target=_blank&gt;&lt;FONT face=Verdana size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I really liked the part that discusses when to use the ADO.NET Entity Framework which I cut and pasted below. Most of it is about the ability to define Client Views on existing database schemas so that you can work with the data logically in the client application as opposed to being limited by the database schema. This is a great feature and one I was really looking forward to.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Anyway, here is when to use the ADO Entity Framework according to Microsoft:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;#8220;If you are writing an application that requires any of the following features, you should use the ADO.NET Entity Framework: &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;The ability to define more flexible mapping to existing relational schema, for example:&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Mapping a single class to multiple tables&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Mapping to different types of inheritance&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Directly Modeling Many to Many relationships&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Mapping to an arbitrary query against the store&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;The ability to query relational stores other than the Microsoft SQL Server family of products.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;The ability to share a model across Replication, Reporting Services, BI, Integration Services, etc.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;A full textual query language&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;The ability to query a conceptual model without materializing results as objects&amp;#8221;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In the post mentioned above, Linq to SQL is portrayed as more of a rapid development approach for simple projects where the database schema is the domain model and you are using SQL Server. Fair enough. I need that, too :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Source:&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Florida ASP.NET C# SQL Server Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3209.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>ADO.NET Entity Framework Cut From .NET 3.5 and Visual Studio Orcas</title><link>http://davidhayden.com/blog/dave/archive/2007/04/29/ADONETEntityFrameworkCutVisualStudioOrcas.aspx</link><pubDate>Sun, 29 Apr 2007 10:31:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2007/04/29/ADONETEntityFrameworkCutVisualStudioOrcas.aspx</guid><description>&lt;H1&gt;&lt;FONT face=Verdana&gt;ADO.NET Entity Framework Cut From .NET 3.5 and Visual Studio Orcas&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;by &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota Web Design&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The recent&amp;nbsp;&lt;A href="http://blogs.msdn.com/adonet/archive/2007/04/28/ado-net-entity-framework-update.aspx" target=_blank&gt;announcement&lt;/A&gt; about the ADO.NET Entity Framework being &lt;STRONG&gt;&lt;U&gt;cut&lt;/U&gt;&lt;/STRONG&gt; from .NET 3.5 and Visual Studio Orcas and instead being shipped during the first half of 2008 has me bewildered this morning. &lt;A href="http://weblogs.asp.net/fbouma/archive/2007/04/29/ado-net-entity-framework-cut-from-net-3-5-orcas.aspx" target=_blank&gt;Frans speculates&lt;/A&gt; on the decision. I am just disappointed with Microsoft's abililty to deliver solutions as promised, on-time, and with&amp;nbsp;timely maintenance releases and service packs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;News Feed: &lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota Web Design&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3207.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>ADO.NET vNext Entity Data Model Designer Prototype CTP</title><link>http://davidhayden.com/blog/dave/archive/2006/09/28/EntityDataModelDesignerPrototypeCTP.aspx</link><pubDate>Thu, 28 Sep 2006 10:26:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2006/09/28/EntityDataModelDesignerPrototypeCTP.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Interesting download of what may&amp;nbsp;be coming in the future with respect to ADO.NET -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;#8220;The &amp;#8220;&lt;STRONG&gt;ADO.NET vNext Entity Data Model Designer Prototype CTP&lt;/STRONG&gt;&amp;#8221; enables developers to design their data access stack using a designer in Visual Studio.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is an unsupported tool that showcases upcoming ideas for ADO.NET vNext tooling and Visual Studio integration. It also illustrates how ADO.NET vNext developers might use Visual Studio to design their data access layer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The designer in this CTP has limited functionality and only lets you design the &amp;#8220;Conceptual&amp;#8221; layer. There is no support for visually editing mappings (MSL file) or storage (SSDL file) in the designer.&amp;#8221;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Download it&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=74bda7b2-9ca9-4eea-a33f-31942ddc9dbe&amp;amp;displaylang=en" target=_blank&gt;&lt;FONT face=Verdana size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;H1&gt;&lt;FONT face=Verdana&gt;Entity Data Model Related Posts&lt;/FONT&gt;&lt;/H1&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/09/05/ADOvNEXTNotInNet3.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET vNext will not be included in .NET 3.0 - ADO.NET Entity Framework&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/08/18/ADONETEntityFrameworkAugustCTP.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework CTP Bits - ADO.NET vNEXT Framework&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/25/ADONETEntityFrameworkOverview.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework Whitepaper - More About the Entity Data Model Goodness&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/23/DataAccessOptionsInADONET3.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET 3.0 Data Access Options and LINQ to SQL ( DLinq )&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/23/EntityDataModel.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET 3.0 Framework - Entity Data Model - Entity SQL - LINQ - A Thing of Beauty&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Author: &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota Web Design&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/54.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Data Model&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3054.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>ADO.NET vNext will not be included in .NET 3.0 - ADO.NET Entity Framework</title><link>http://davidhayden.com/blog/dave/archive/2006/09/05/ADOvNEXTNotInNet3.aspx</link><pubDate>Tue, 05 Sep 2006 12:18:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2006/09/05/ADOvNEXTNotInNet3.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Pablo Castro, ADO.NET Technical Lead at Microsoft, just dealt the development community a huge blow by&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=574899&amp;amp;SiteID=1" target=_blank&gt;&lt;FONT face=Verdana size=2&gt;mentioning&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; in the MSDN Forums&amp;nbsp;that ADO.NET vNext will not be included in &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/06/20/2994.aspx"&gt;&lt;FONT face=Verdana size=2&gt;.NET 3.0&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;"ADO.NET vNext will not be included in .NET 3.0. (that's why we're just calling it "vNext" for now)." - Pablo Castro&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Microsoft is being really slow to deliver &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/24.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;o/r mapping&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; technology. We could have used the &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/08/18/ADONETEntityFrameworkAugustCTP.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; years ago when they were talking about &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2004/04/02/201.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ObjectSpaces&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I think this goes hand in hand with Microsoft always wanting to deliver new versions of software that completely change development. I would rather they deliver smaller, usable solutions incrementally that provide a migration path to future solutions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Source: &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;Sarasota Web Development&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/54.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET vNext&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3029.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Dave Hayden</dc:creator><title>The Database Model is the Domain Model - Applying Domain-Driven Design and Patterns - O/R Mappers</title><link>http://davidhayden.com/blog/dave/archive/2006/08/24/DatabaseModelIsDomainModel.aspx</link><pubDate>Thu, 24 Aug 2006 16:06:00 GMT</pubDate><guid>http://davidhayden.com/blog/dave/archive/2006/08/24/DatabaseModelIsDomainModel.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Frans Bouma has posted an essay entitled &lt;/FONT&gt;&lt;A href="http://weblogs.asp.net/fbouma/archive/2006/08/23/Essay_3A00_-The-Database-Model-is-the-Domain-Model.aspx" target=_blank&gt;&lt;FONT face=Verdana size=2&gt;The Database Model is the Domain Model&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; on his blog. I haven't read it completely, but it looks to be similar to what Frans had written in Appendix A, entitled Other Domain Model Styles, in Jimmy Nilsson's book &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/03/ApplyingDomainDrivenDesignAndPatterns.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Applying Domain-Driven Designs and Patterns&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. You can read my review here:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A id=viewpost.ascx_TitleUrl HREF="/blog/dave/archive/2006/07/03/ApplyingDomainDrivenDesignAndPatterns.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;Applying Domain-Driven Design and Patterns by Jimmy Nilsson - Examples in C# and .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;As you can tell by the title, &lt;STRONG&gt;The Database Model is the Domain Model&lt;/STRONG&gt;, Frans is suggesting that the domain model and the database model in your applications are the same. This is certainly the approach he uses in his &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/24.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;O/R Mapper&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/12/LLBLGenPro2Released.aspx"&gt;&lt;FONT face=Verdana size=2&gt;LLBLGen Pro&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, where entities and their relationships are based on the database model.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In more cases than not, I find this to be true and desirable for a few reasons:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;It is really easy to go back and forth between the domain model and the database model, because the entities and relationships are identical.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;The queries and code responsible for object relational mapping is straight forward and easy to understand.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Domain-model concepts like &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/06/10/2984.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ActiveRecord&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; and &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2005/05/09/1012.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Data Access Objects&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; play well in this model and are very easy to understand and maintain.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://davidhayden.com/blog/dave/category/15.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;Code generation&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; and RAD tools can be applied in most cases with great efficiency.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;When your domain model starts to move away from your database model you start to reduce the benefits above. This isn't to say that doing so is a bad thing as in theory object-oriented programming and the database have different goals. With a database you try to &lt;STRONG&gt;normalize data&lt;/STRONG&gt;, and with OOP you try to &lt;STRONG&gt;normalize behavior&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The nice thing about &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/54.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET vNext&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, is that the &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/08/18/ADONETEntityFrameworkAugustCTP.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET Entity Framework&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; has the concept of the &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2006/07/23/EntityDataModel.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Entity Data Model&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, which can vary from the Database Model and allow you to break away from the database model when necessary. I still like to keep the models as close as possible because I believe it makes the applications easier to maintain and understand, but it doesn't always work out so cut-and-dry.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Source: &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;David Hayden&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; ( &lt;/FONT&gt;&lt;A href="http://www.davidhayden.com/"&gt;&lt;FONT face=Verdana size=2&gt;ASP.NET Web Developer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Filed: &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/54.aspx"&gt;&lt;FONT face=Verdana size=2&gt;ADO.NET vNEXT&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/24.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;O/R Mapping&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;, &lt;/FONT&gt;&lt;A href="http://davidhayden.com/blog/dave/category/15.aspx?Show=All"&gt;&lt;FONT face=Verdana size=2&gt;Code Generation&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;img src ="http://davidhayden.com/blog/dave/aggbug/3022.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>