gpt4 book ai didi

c# - Entity SQL or StoredProcedure,用什么?

转载 作者:太空宇宙 更新时间:2023-11-03 11:36:30 24 4
gpt4 key购买 nike

我可以选择在我的 DAL 中使用 Entity SQL 查询 或在 db 中使用存储过程水平作为一个选项。

我应该使用哪个。这两种方法的优点/缺点是什么?

我更倾向于 Entity SQL,因为我不希望任何形式的 db 级别暴露我的逻辑。

最佳答案

根据我的经验:

Entity Framework :

  • 逻辑保留在应用程序中
  • 更容易与源代码管理集成(以我的经验)
  • 如果需要也可以使用存储过程(我在全文搜索例程中使用它)
  • 数据库不可知 -> 好吧,我以前没有真正尝试过更改数据库,但它应该可以保护您免受底层持久性存储的影响
  • 个人偏好:获取对象/模型数组而不是庞大的数据表更加漂亮和方便。更不用说我需要知道列的顺序等等..

数据库 SP

  • 您不必学习任何新东西 - 某些任务对于存储过程而言是微不足道的,但在使用 EF 时却可能非常晦涩难懂。好吧,这取决于你 catch 来的速度。
  • 易于使用,更精细的控制 - 到目前为止,我不知道如何在 linq to entities 中创建使用 WITH 和 OVER() 的查询。

就我个人而言,出于我上面提到的原因(加上我现在想不起来的其他一些原因),我也会选择 EF。此外,如果有什么我不能做或不能用 linq 查询快速做的事情,我将只创建一个存储过程或只执行一个 SQL 语句(是的,你可以使用上下文执行 SQL)。

关于c# - Entity SQL or StoredProcedure,用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6106879/

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