LINQ代表“语言集成查询”。它是在Visual Studio 2008中引入的一项新语言功能,适用于C#和VB.NET。
LINQ赋予您在代码中直接编写查询的能力。 LINQ到SQL将您编写的LINQ代码转换为SQL语句,发送到SQL Server。 LINQ到XML提供了消耗XML的语法。它们都使用LINQ,但它们不是可互换的技术。
另一个主要的内置 LINQ 提供程序是 LINQ to Objects,它允许您针对 .NET 中实现 IQueryable 接口的集合编写查询。
还有许多人不太知道的LINQ提供程序--甚至有一个LINQ to Twitter,它将LINQ翻译成REST Web请求以访问Twitter API。
SQL Server是一个数据库。XML是一种组织信息的方法,通常存储在文本文件中或通过网络传输。一个包含XML的大文本文件(甚至一组文件)会使网站的数据后端变得非常糟糕。你需要编写大量代码来处理对数据的并发写入和事务。SQL Server可以在没有额外工作的情况下为您完成这些操作。这就是它的设计目的。
如果您有一组只读信息供网站访问者使用,那么将其存储在xml文件中可能是有意义的。
仅仅因为你可以通过LINQ从SQL Server和XML文件中访问信息,并不意味着你可以互相替代。
此外,我查看的所有Windows Web主机都包括至少一个SQL Server数据库在基本托管计划中,因此成本不应该是一个问题。