gpt4 book ai didi

linq - 更好的一个来自 Linq 中的 ExecuteQuery 和 ExecuteCommand

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

我在 Linq 工作现在我想知道从以下运行 sql 查询哪个更好。

1) 执行查询

2) 执行命令

最佳答案

ExecuteQuery 和 ExecuteCommand 方法都是 LINQ DataContext 的方法。它们是 LINQ to SQL 不能充分提供特定场景的传递机制。您很少会在 LinqToSql 中使用这些方法,因为您会失去 LINQ 的表达能力,这是使用 LINQ 的主要原因。您还将失去在查询中使用强类型变量的值(value),这是使用 LINQ 的另一个主要优势。

构造 SQL 查询字符串并将其直接传递给数据库被认为是糟糕的编程实践,因为从字符串元素构造的 SQL 命令已成为称为 SQL 注入(inject)的数据库黑客攻击的途径。所以一般来说,除非绝对必要且非常谨慎,否则建议避免使用 ExecuteQuery 和 ExecuteCommand。

既然我说了这么多,下面是对何时使用这些方法的解释。 ExecuteQuery 将用于执行 Select 语句,而 ExecuteCommand 将用于执行插入、更新、删除或调用存储过程。

但是,您应该使用 LINQ 查询语法或 LINQ lambda 语法进行 SQL 调用,而不是使用 ExecuteQuery 或 ExecuteCommand。

关于linq - 更好的一个来自 Linq 中的 ExecuteQuery 和 ExecuteCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6814976/

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