static void QueryManipulation() {
DataContext db = new DataContext( ConnectionString );
Table<Customer> Customers = db.GetTable<Customer>();
db.Log = Console.Out;

// vichni zkaznci
var query =
from c in Customers
select new {c.CompanyName, c.State, c.Country };

DisplayTop( query, 10 );

// Uivatel pidv 
// k pedchozmu dotazu filtr.
// zkaznci z USA
query =
from c in query
where c.Country == "USA"
select c;

DisplayTop( query, 10 );

// Uivatel pidv k pedchozmu
// dotazu dal filtr.
// zkaznci z USA, Washington
query =
from c in query
where c.State == "WA"
select c;

DisplayTop( query, 10 );
}

static void DisplayTop<T>( IQueryable<T> query, int rows ) {
foreach( var row in query.Take(rows)) {
	Console.WriteLine( row );
}
}
