Theo bạn hỏi thì So sánh Linq với ADO.NET.
còn dataset chỉ là 1 đối tượng lưu trữ thông tin tạm thời từ câu truy vấn csdl thôi nha bạn.
Bạn có thể tham khảo bài viết Linq tại đây: http://laptrinhvb.net/bai-viet/chuyen-de-csharp/Ket-noi-(them,-xoa,-sua,-tim-kiem)-Linq-to-Microsoft-Sqlserver-bang--Csharp-/d66acfd842d07bcf.html
LINQ
Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năng suất lập trình, Microsoft đã phát triển giải pháp tích hợp dữ liệu cho .NET Framework có tên gọi là LINQ (Language Integrated Query), đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu Object, CSDL và XML.
LINQ là một tập hợp các thành phần mở rộng cho phép viết các câu truy vấn dữ liệu ngay trong một ngôn ngữ lập trình, như C# hoặc VB.NET. Khi tạo một đối tượng LINQ thì Visual Studio sẽ tự động sinh ra các lớp có các thành phần tương ứng với CSDL của chúng ta. Khi muốn truy vấn, làm việc với CSDL ta chỉ việc gọi và truy xuất các hàm, thủ tục tương ứng của LINQ mà không cần quan tâm đến các câu lệnh SQL thông thường.
Tóm lại LINQ ra đời để giảm công sức cho những quá trình đơn giản và “chung chung” trước đây.