Fastest Start for LINQ to SQL

Every now and then, I need to have a source of data for an example or proof of concept that I’m building.  In my focus on LINQ to XML, Open XML, and now SharePoint, it’s pretty rare that I have to directly use a SQL database.  I only do so maybe once or twice a year, and each time it comes up, I can’t remember where to get the database, and the easiest way to get started.  This post is a cheat-sheet for the future - posting this just so that the next time it comes up, I can get going faster.

  • This blog is inactive.
    New blog: EricWhite.com/blog

    Blog TOCDownload the Northwind and Pubs sample databases here.

  • Run the MSI.  After it installs, you can find Northwind.mdb at “C:SQL Server 2000 Sample Databases”.  The installation program creates a shortcut to this directory on the start menu.

  • When running Windows Server 2008, default security settings prevent opening a database at “C:SQL Server 2000 Sample Databases”.  Create a directory in my Documents directory, such as NorthwindDatabase  (C:UsersericwhitDocumentsNorthwindDatabase).

  • Copy NORTHWND.MDF to that directory.  No need to copy NORTHWND.LDF – it’s just a log file, and will be re-created when the data connection is opened.

  • In Visual Studio, open the Server Explorer.

  • Right click on Data Connections, select Add Connection

  • Select Microsoft SQL Server Database File

  • Click Continue

  • Browse to C:UsersericwhitDocumentsNorthwindDatabase NORTHWND.MDF

  • Click Test Connection, to make sure that the connection works.

  • Click Open

  • Use Windows Authentication

  • Create a Windows Console project.

  • Add a new item to the project, Select Data in Categories, Select LINQ to SQL in Templates.

  • Name the item Northwind.dbml

  • Drag tables as appropriate on to the O/R designer surface.

  • The O/R designer will ask if I want to add the database file to my project, and copy it to the output directory.  Not necessary.

Add the following two Using statements:

using System.Data.Linq;
using System.Data.Linq.Mapping;

Add the following code to Main:

DataContext db = new DataContext(@"C:UsersericwhitDocumentsNorthwindDatabaseNorthwnd.mdf");
Table<Customer> Customers = db.GetTable<Customer>();
var query =
from cust in Customers
where cust.City == "London"
select cust;
foreach (var cust in query)
Console.WriteLine("id = {0}, City = {1}", cust.CustomerID, cust.City);

To install adventure works database,

Download it here.

Install it in a sub folder of my Documents directory.

Add a data connection in Server Explorer.