一个 Linq 提供程序是一种实现特定数据存储的 IQueryProvider 和 IQueryable 接口的软件。换句话说,它允许您针对该数据存储编写 Linq 查询。例如,Linq to XML 提供程序允许您针对 XML 文档编写 Linq 查询。您也可以编写自己的 Linq 提供程序,但这并不容易。有关更多信息,请参见构建一个 Iqueryable 提供程序和演练: 创建一个 IQueryable LINQ 提供程序。
LINQ(语言集成查询)作为数据存储和语言环境之间的中间层。从开发者的角度来看,它只是一种直接在IDE中从多个数据结构查询数据的新模式。在幕后,它执行许多任务,如表达式处理、验证和调用正确的例程来获取数据或构建要在SQL Server中运行的查询。简而言之,LINQ是语言和数据存储之间的通用查询网关。具体到特定的数据存储(例如xml文件、sql rdmbs),称为LINQ提供程序。通过实现IQueryable接口来实现它。Matt Waren有一个很好的自定义linq提供程序tutorial系列教程。