抱歉,如果这是一个重复的问题,但与执行存储过程相比,在 Linq2Sql 中执行 SQL 语句之间有真正的区别吗?
有什么好处? (如果有的话)
最佳答案
如果您将代码放入存储过程中,则您已将其与 C# 应用程序分离。您可以修复任何错误或扩展其功能,而无需重新编译和重新分发您的应用程序。
此外,使用存储过程可以是一种安全措施:您可以授予用户对存储过程的执行权限,但不能对基础表进行更新或插入权限。这可以使您的数据库更安全,更易于管理。
纯粹从功能的角度来看,我会说(几乎)您可以在存储过程中执行的任何操作也可以通过从您的 Linq-to-SQL DataContext 执行内联 SQL 来完成 - 但正如我之前提到的 - 在这种情况下,您有主应用程序中的所有 SQL 代码 - 这可能是好事还是坏事,这取决于您的应用程序和客户的工作方式和功能。
关于.net - Linq2Sql 与存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355880/