Entity framework 编写eSQL数据库是否独立?

Entity framework 编写eSQL数据库是否独立?,entity-framework,linq-to-entities,entity-sql,Entity Framework,Linq To Entities,Entity Sql,使用EF,我们可以使用LINQ读取相当简单的数据(特别是使用fluent调用),但除非我们自己编写eSQL,否则我们的控制能力就比较弱 编写eSQL实际上是数据存储独立的代码吗? 所以,如果我们决定更改数据存储,是否仍然可以使用相同的语句 在代码中编写eSQL字符串是否会造成严重的安全威胁,类似于在C#代码中将TSQL语句作为普通字符串编写?这就是为什么建议使用SPs。我们是否仍然可以将eSQL脚本移到代码之外,并使用其他技术使其更安全 ESQL通常是独立于数据库的,所以它可以像LINQ一样用于

使用EF,我们可以使用LINQ读取相当简单的数据(特别是使用fluent调用),但除非我们自己编写eSQL,否则我们的控制能力就比较弱

  • 编写eSQL实际上是数据存储独立的代码吗?
    所以,如果我们决定更改数据存储,是否仍然可以使用相同的语句
  • 在代码中编写eSQL字符串是否会造成严重的安全威胁,类似于在C#代码中将TSQL语句作为普通字符串编写?这就是为什么建议使用SPs。我们是否仍然可以将eSQL脚本移到代码之外,并使用其他技术使其更安全
  • ESQL通常是独立于数据库的,所以它可以像LINQ一样用于实体。 但请注意,它有更严重的局限性。它没有DML、DDL和DB特定的功能
    ESQL的主要缺点是,即使是包含几行的简单查询也可以转换为特定DBMS的庞大SQL查询,因此应该检查生成的SQL是否合适,并分析它是否是最优的
  • ESQL不会直接在数据库上执行,它将被转换为SQL。 EF安全性讨论通常从连接字符串保护开始,然后讨论模型安全性,并且只有在分析查询保护之后。由开发人员决定是否应该保护特殊的查询
  • ESQL通常是独立于数据库的,所以它可以像LINQ一样用于实体。 但请注意,它有更严重的局限性。它没有DML、DDL和DB特定的功能
    ESQL的主要缺点是,即使是包含几行的简单查询也可以转换为特定DBMS的庞大SQL查询,因此应该检查生成的SQL是否合适,并分析它是否是最优的
  • ESQL不会直接在数据库上执行,它将被转换为SQL。 EF安全性讨论通常从连接字符串保护开始,然后讨论模型安全性,并且只有在分析查询保护之后。由开发人员决定是否应该保护特殊的查询

  • 首先,我问这个问题的主要原因是为了使用eSQL更好地优化实际的数据库查询。因此,如果我在我的特定数据库上对其进行优化,它也会在其他数据库上进行优化吗?或者至少比原来的更好?因此,它将倾向于优化eSQL?不幸的是,没有什么是可以保证的。SQL对于一个DBMS来说是最优的,而对于另一个DBMS来说则是可怕的。如您所知,复杂查询的最佳性能通常只有通过使用手动编写的本机SQL查询(在EFv4中为EntitySet或ObjectContext.ExecuteStoreQuery()定义查询)或通过具体化存储过程返回的实体集合(使用函数导入)才能获得。但在这些情况下,快速加载是不可能的。我首先提出这个问题的主要原因是为了使用eSQL更好地优化实际的数据库查询。让我们来看一个关于某个eSQL脚本的案例,该脚本实际上是令人不快的(即,异常的)。因此,如果我在我的特定数据库上对其进行优化,它也会在其他数据库上进行优化吗?或者至少比原来的更好?因此,它将倾向于优化eSQL?不幸的是,没有什么是可以保证的。SQL对于一个DBMS来说是最优的,而对于另一个DBMS来说则是可怕的。如您所知,复杂查询的最佳性能通常只有通过使用手动编写的本机SQL查询(在EFv4中为EntitySet或ObjectContext.ExecuteStoreQuery()定义查询)或通过具体化存储过程返回的实体集合(使用函数导入)才能获得。但在这些情况下,快速加载是不可能的。