gpt4 book ai didi

c# - 比较 Dapper 中的 QUERY 和 EXECUTE

转载 作者:太空狗 更新时间:2023-10-29 20:54:04 25 4
gpt4 key购买 nike

我想问一下在使用 DAPPER 插入、更新、删除、删除、查询特定数据时最好使用什么?我真的很困惑在 DAPPER 中使用 EXECUTE 和 QUERY 命令..

最佳答案

这根本不会造成混淆,尤其是当您查看 Dapper 公开的方法的签名时(根据文档):

public static IEnumerable<T> Query<T>(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null, bool buffered = true)

查询方法专门用于在内部执行一个select语句,它可以返回类型为T的IEnumerable,如果使用匿名参数,则有执行它的选项>,那么您不需要任何返回值输出参数,它只接受输入参数并提供结果,该结果具有模式匹配Type T 的属性。如果需要返回值输出参数,则需要使用DynamicParameters

进行绑定(bind)
public static int Execute(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null)

Execute 方法用于执行 DML 语句,如 Insert、Update 和 Delete,其目的是更改数据库中的数据。返回类型是一个integer,它应该包含更新行数的值,如果在SQL Server中我们设置了Set RowCount On,这个调用将不会帮助返回结果集,它仅用于 DML 调用。

如果您需要多个结果集,那么我们有 QueryMultiple。它返回一个 GridReader 并可用于返回多个 Select 语句的结果,使用 MARS(多个事件结果集)的概念。

实际上,如果你的目标只是执行一个过程,那么它们中的任何一个都可以,但更重要的是期待收到什么结果集,它们都有不同的返回来提供结果

关于c# - 比较 Dapper 中的 QUERY 和 EXECUTE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325228/

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