LINQ到LIN的数据集子集是EF还是这两个是独立的?

LINQ到LIN的数据集子集是EF还是这两个是独立的?

Linq使用queryProviders的概念。 查询提供程序负责将lamba表达式转换为基础数据存储上的查询。 正如Obalix在我之前所说,Linq to Entities查询提供程序将linq与lambdas转换为使用底层ado.net对象执行的真实sql。 看一下这里的规范函数,这些函数被翻译成sql(注意哪些不是)。 另一方面,linq to dataset可以对抗DAtaSet基础结构。 您可能还记得数据集有一些与之相关的查询。 (使用DataAdapters对象进行getter,更新,删除,插入)。 Linq查询映射到数据集中已存在的对象=表,列等。不构建SQL查询,因为提供程序不在如此低的级别运行 – 数据集是它使用的数据抽象。

如果我不关心数据库不可知性,你可以看一下linq to SQL,如果我没有听说过,甚至还有一些Oracle的提供者linq。

他们是独立的。

  • Linq to Dataset对以前使用ADO.NET创建的DataSet起作用。 在使用linq之前加载数据集,因此SQL查询不是动态构建的。

  • Linq to EntityFramework适用于entity framework上下文。 这里,SQL查询是根据您提供的Linq查询动态构造的。

他们是独立的,甚至不能很好地协同工作。

LINQ-to-Datatsets是一组扩展方法,允许LINQ查询基于IEnumerable对已加载到DataTables的数据进行查询。 它接近于查询List <>和其他集合。

LINQ-to-Entities使用查询提供程序和IQueryable将LINQ查询转换为SQL查询。 它还提供了将数据库表建模为对象的function。

如果使用EF,您可以编写(更多)面向对象,使用DataSet仍然是面向数据库的。