Joseph Albahari
Home Contact

Welcome to albahari.com

LINQPad: Autocompletion has Arrived!

LINQPad now offers an add-on that implements full autocompletion for C# 3.0! Download LINQPad here (or if you already have LINQPad, it will update itself automatically). A single-user license is currently just $19.

10 LINQ Myths

The ten most common misconceptions, and how they set people awry.

C# 3.0 Pocket Reference + LINQ Pocket Reference

C# 3.0 Pocket Reference    LINQ Pocket Reference    These books are for people that want to eat their cake and have it. Despite their small size, they don't sacrifice readability or detail and are packed with useful and complete information on C# 3.0 and LINQ. These books, in fact, may be all you need to get up to speed with the C# language and LINQ!

C# 3.0 in a Nutshell

The top-selling C# 3.0 in a Nutshell includes everything in the two pocket references, plus detailed coverage of the CLR and core .NET Framework. Its new format is radical departure from previous editions, providing much greater depth and readability. Find out more

LINQPad

Ever used SQL Management Studio and wished you could type your queries in LINQ, rather than antiquated SQL? Well now you can! LINQPad is a free tool that lets you dynamically query SQL databases in a real query language: you'll never have to struggle with a correlated subquery again!

Query Express

This simple and free 100KB database query tool written in C# allows SQL commands to be run interactively on SQL Server, Oracle or an OLE-DB compliant databases. It includes an object browser, text/grid results, saving to XML/CSV format, and support for batching via the 'GO' keyword. No installation required. Full source code available. More on Query Express...

Threading in C#

An extensive article on multithreading in C#. This tackles difficult issues such as thread safety, when to use Abort, Wait Handles vs Wait and Pulse, the implications of Apartment Threading in Windows Forms, using Thread Pooling, Synchronization Contexts, Memory Barriers and non-blocking synchronization constructs. Full Contents

More Articles

Dynamically building LINQ expression predicates This describes a simple and elegant solution to the problem of dynamically composing Expression<> based predicates in LINQ.

Speeding up LINQ to SQL Three ways to squeeze the maximum performance out of this technology.

Value Types vs Reference Types A tutorial explaining how value and reference types work in C# and .NET. This covers the differences in the way objects are created and disposed, how memory allocation works, and common traps.

 

© 2003-2008 Joseph Albahari