2

我已经阅读了一篇关于使用 EntityConnection、EntityCommands 执行 Entity sql 查询的文章。但我无法理解为什么我们使用实体 sql?为什么不直接使用类和对象来处理数据库上的 CRUD 操作?

或者,如果我们想执行 sql 查询,那么为什么我们使用 Entity Sql,为什么不直接使用 Ado.net?

是否有任何性能差异或其他?我已经浏览了http://msdn.microsoft.com/en-us/library/bb738573.aspx页面。但我想以更简单的方式回答。你能回答我吗?

谢谢

4

2 回答 2

3

为什么不直接使用类和对象来处理数据库上的 CRUD 操作?

那是(应该是)几乎所有操作的方式。但有时需要更直接、更精确地访问数据库。

如果我们想执行 sql 查询,那么为什么我们使用 Entity Sql,为什么不直接使用 Ado.net 呢?

E-SQL 仍然允许您使用实体(而不是行)。这更容易也更强大,例如考虑继承。

E-SQL 也应该独立于实际数据库,即 Oracle 等。我还没有这方面的经验。

是否有任何性能差异或其他?

它可以用来提高性能,是的。但不是自动的。

于 2012-08-17T06:45:04.073 回答
3

主要区别

  • SQL 是处理存储(关系)对象 - 表/行的数据库相关查询语言
  • ESQL 是处理概念 (EDMX) 对象 - 实体的独立于数据库的查询语言

ESQL 是在 LINQ 之前创建的。在某些情况下,ESQL 提供了比 LINQ 更多的功能。

于 2012-08-17T06:46:43.830 回答