gpt4 book ai didi

entity-framework - 您将如何在典型的业务层/数据访问层/存储过程设置中使用 EF?

转载 作者:行者123 更新时间:2023-12-04 07:27:02 25 4
gpt4 key购买 nike

每当我观看有关 Entity Framework 的演示时,演示者只需设置一些表并使用自动创建的代码 stub 执行插入、更新和删除,但从不显示任何存储过程的使用。在我看来,这是从客户端执行 SQL。

以我的经验,这不是特别好的做法,所以我假设我对 Entity Framework 的理解是错误的。

同样,WCF RIA 服务演示使用 EF,并且演示始终相同。任何人都可以阐明如何在典型的业务层/数据访问层/存储过程设置中使用 EF。

我想我很困惑,不应该!?

最佳答案

从客户端执行 SQL 没有任何问题。使用 EF 之类的东西时,它可能导致的大多数(如果不是全部)问题实际上都不存在。例如:

  • 客户端生成的 SQL 可能会导致运行时语法错误。这并非不可能,因为您的查询描述主要在编译时检查(假设生成器本身不会生成无效的 SQL,这也不太可能)
  • 客户端生成的 SQL 可能效率低下。对于具有查询缓存的现代数据库软件,情况并非如此。 EF 以与查询缓存兼容的方式工作,即它始终如一地生成相同的 SQL(只要您始终使用相同的代码)并为不同的数据使用参数。
  • 客户端生成的 SQL 可能不安全(SQL 注入(inject)等)。这一切都由生成器处理,它使用参数作为您的值,并且不会将用户输入插入查询本身。
  • 关于entity-framework - 您将如何在典型的业务层/数据访问层/存储过程设置中使用 EF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4368261/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com