Dapper是否应该使用&Q;USING&Q;语句? [英] Should dapper use a "using" statement?

查看:0
本文介绍了Dapper是否应该使用&Q;USING&Q;语句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我见过有人在做什么的例子:

IDbConnection db = new MySqlConnection(conn);

var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();

或以上是一种不好的做法,是否应该使用如下语句输入所有查询:

using (var db = new MySqlConnection(conn))
{
var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();
}

推荐答案

正如其他人正确指出的那样,通常的最佳实践是在任何时候使用using,只要对象实现了IDisposable,并且您知道该对象的生存期将很短--也就是说,不会比当前方法的持续时间长。这样做可以确保及时清理稀缺的操作系统资源。即使对象的处置被其终结器"停止",您也不希望处于这样一种情况,比如说,您在文件或数据库上有一个锁,或者直到终结器运行数十亿纳秒之后才会被释放。

然而,我的建议是,有少数类型实现IDisposable是出于及时处置非托管资源以外的其他原因。在某些非常特定的情况下,您可以安全地跳过using。然而,使用using几乎从来都不是错误的,即使严格来说不是必需的,所以我给你的建议是偏向谨慎和过度使用,而不是过度使用using

这篇关于Dapper是否应该使用&Q;USING&Q;语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆