LINQ
Bridging the Gap Between Databases and Data Structures