我想问一下使用DAPPER进行插入,更新,删除,删除,查询特定数据时最好使用什么?我真的很困惑在DAPPER中使用EXECUTE和QUERY命令.
Mri*_*boj 16
这根本不应该让人感到困惑,特别是如果你看一下Dapper公开的方法的签名(根据文档):
public static IEnumerable<T> Query<T>(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null, bool buffered = true)
Run Code Online (Sandbox Code Playgroud)
查询方法专门用于在内部执行select语句,可以返回IEnumerable of a type T,有执行它的选项,如果使用完成anonymous parameter,那么你不期望任何return value或者Output parameter,它只需要input parameter并提供结果,其中模式匹配到的性质Type T.如果需要return value或Output parameter需要,则需要使用绑定DynamicParameters
public static int Execute(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null)
Run Code Online (Sandbox Code Playgroud)
Execute方法用于执行DML语句,例如Insert, Update and Delete,其目的是更改数据库中的数据.返回类型是一个integer,它应包含更新的行数的值,如果在我们设置的SQL Server中Set RowCount On,此调用将无助于返回结果集,它仅用于DML调用.
如果您需要多个结果集,那么我们有QueryMultiple.返回a GridReader,可以使用MARS(多个活动结果集)的概念返回多个Select语句的结果.
实际上,如果你的目标只是执行一个程序,他们中的任何一个都会这样做,但更重要的是结果集期待收到什么,他们都有不同的回报来提供结果