データベースの作成

LINQ to SQLを使うとDDLを書かずにデータベース、テーブルが作れるのが良いですね。外部キーもちゃんと張られますし。
(追記)
これはLINQ to SQLじゃなくてLINQ to Entitiesなのかな。LINQ toほにゃららの区別がついてないです。(^^;
SQL Server 2005 compactSQL Server compact 3.5向け。

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

namespace ConsoleApplication1
{
    [Table(Name = "Customers")]
    public class Customer
    {
        [Column(Name="Customer ID", IsPrimaryKey = true)]
        public string CustomerID;

        // not null
        [Column(CanBeNull=false)]
        public string City;

        // DBの型を直接指定することも可能
        [Column(DbType="nvarchar(15) not null")]
        public string Country;

        EntitySet<Order> orders;
        /// <summary>
        /// 1:Nリレーション。
        /// </summary>
        /// <remarks>
        /// リレーションにはThisKey(Customer側)とOtherKey(Order側)を指定する。
        /// ただし、Keyがプライマリキーの場合は省略可能。
        /// Customer側はプライマリキーなので省略している。
        /// Order側はCustomerIDプロパティを指定している。
        /// 指定するのはDBのカラム名ではなく、プロパティ名なことに注意。
        /// </remarks>
        [Association(Storage = "orders", OtherKey = "CustomerID")]
        public EntitySet<Order> Orders
        {
            get { return orders; }
            set { orders.Assign(value); }
        }
    }

    [Table(Name = "Orders")]
    public class Order
    {
        [Column(Name="Order ID", IsPrimaryKey = true)]
        public int OrderID;

        [Column(Name="Customer ID")]
        public string CustomerID;

        [Column(Name = "Ship Via")]
        public int ShipVia;

        EntityRef<Customer> customer;
        /// <summary>
        /// N:1リレーション。
        /// </summary>
        /// <remarks>
        /// リレーションにはThisKey(Order側)とOtherKey(Customer側)を指定する。
        /// ただし、Keyがプライマリキーの場合は省略可能。
        /// Customer側はプライマリキーなので省略している。
        /// Order側はCustomerIDプロパティを指定している。
        /// 指定するのはDBのカラム名ではなく、プロパティ名なことに注意。
        /// </remarks>
        [Association(Storage = "customer", ThisKey = "CustomerID")]
        public Customer Customer
        {
            get { return customer.Entity; }
            set { customer.Entity = value; }
        }
    }

    public partial class MyDatabase : DataContext
    {
        public Table<Customer> Customers;
        public Table<Order> Orders;
        public MyDatabase(string connection) : base(connection) { }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var db = new MyDatabase(@"c:\home\MyDatabase.sdf");
            // データベースが存在する場合は、削除して作り直す。
            if (db.DatabaseExists())
                db.DeleteDatabase();
            db.CreateDatabase();
        }
    }
}

指定したディレクトリにMyDatabase.sdfが出来ているはずです。