This blog post summarizes the overview of LINQ.
One of the big programming model improvements being made in .NET 3.5, is the work being done to make querying data a first class programming concept. We call this overall querying programming model "LINQ", which stands for .NET Language Integrated Query.
LINQ supports a rich extensibility model that facilitates the creation of efficient domain-specific providers for data sources. .NET 3.5 ships with built-in libraries that enable LINQ support against Objects, XML, and Databases.
· Defferred Execution Model - Paging
· Incrementatl Update
· SQL Injection - LINQ to SQL also automatically handles escaping SQL values for you - so you don't need to worry about SQL injection attacks when using it. See Post.
· Change Tracking – Post 4
When we perform queries and retrieve objects, LINQ to SQL by default keeps track of any changes or updates we later make to these objects. We can make any number of queries and changes we want using a LINQ to SQL DataContext, and these changes will all be tracked together.
Note: LINQ to SQL change tracking happens on the consuming caller side - and not in the database. This means that we are not consuming any database resources when using it, nor do you need to change/install anything in the database to enable it.
· Validation & business Logic
· Schema Valiation
· In case of LINQDataSourceControls - Even though we use a custom Selecting event, paging and sorting still work with our GridView.
· LINQ to XML provides much richer (and easier) querying and data shaping support than the low-level XmlReader/XmlWriter API in .NET today. It also ends up being much more efficient (and uses much less memory) than the DOM API that XmlDocument provides.
Hope this helps.
Thanks & Regards,
Arun Manglick || Tech Lead